一种粒球生成方法、数据分类方法和分类器
未命名
07-20
阅读:130
评论:0
1.本发明涉及计算机技术领域,具体涉及一种粒球生成方法、数据分类方法和分类器。
背景技术:
2.随着社会的发展,人们的生活质量得到了极大的提高,以至于人的平均寿命得到进一步提高,其中医学技术的快速发展是不可忽视的因素。因此,在医学方面,对未确诊病人可能确诊的疾病进行一个分类预测,对其后续的确诊和治疗有极大的帮助。
3.在现有的医学疾病分类器,其输入一般是最细粒度的单个病人的病征属性,现有的粒球生成方法使用k-means算法对粒球进行分裂。虽然k-means算法可以在粒球生成的每次迭代中产生稳定的分裂结果,但对于粒球生成来说k-means并不够高效。
4.并且由于现有的医学疾病分类器的输入一般是最细粒度的单个病人的病征属性,而以粒计算的思路,粒度越大,效率就越高,那么同时对噪声的鲁棒性也会变好,因此在面对大规模数据的时候会表现较低的学习效率,并且将注意力过分集中于细节会降低对噪声的鲁棒性。
技术实现要素:
5.本发明提供一种粒球生成方法、数据分类方法和分类器,用以解决上述问题。
6.本发明通过下述技术方案实现:
7.一种粒球生成方法,包括如下步骤:
8.s1、将收集到的数据整合到一起,形成数据集并进行分类;
9.s2、将分类后的所述数据集进行k次划分成k个粒球,k为该k次划分的数据集中的数据分类类别数量;
10.s3、判断每个生成的粒球的质量是否均符合要求,若是,得到所有粒球的聚类中心,跳转至s5,否则,跳转至s4;
11.s4、不符合要求的粒球跳转至s2,并保留符合要求的粒球;
12.s5、将所有粒球的聚类中心进行全局划分,使得聚类中心靠近对应的粒球的球心。
13.作为优化,s2的具体步骤为:
14.s2.1、随机选取该k次划分的数据集中的一个样本点,计算该数据集中所有样本点到该样本点的距离,形成一个以该样本点为聚类中心的子簇;
15.s2.2、随机选取一个除已形成子簇的聚类中心的样本点所归属的类型以外的类型的样本点作为新的聚类中心,分别计算除已形成子簇以外的所有样本点到成为新聚类中心的样本点的距离,形成一个以该样本点为聚类中心的子簇;
16.s2.3、重复s2.2(k-2)次,k为数据集中样本点的分类类别数量,直到数据集中的所有样本点均被划分到对应的子簇,每个子簇均被视为一个粒球。
17.作为优化,s3中,判断每个粒球的质量是否符合要求的具体步骤为:
18.s3.1、计算当前粒球的纯度,即当前粒球中多数类样本占总数的比例;
19.s3.2、将当前粒球的纯度和设定的纯度阈值进行比较,若小于纯度阈值,则当前粒球质量不符合要求,跳转至s2继续划分;反之则符合,其中纯度阈值即为算法的输入参数。
20.作为优化,s5的具体步骤为:
21.s5.1、以前半部分所选取到的所有聚类中心作为全局划分的若干划分中心,计算所有样本点分别到该若干划分中心的欧氏距离;
22.s5.2、根据该欧氏距离将样本点划分到距离该样本点最近的簇中,全局划分完成。
23.作为优化,所述数据包括数据标签和数据属性,所述数据集包括数据对应的数据标签和数据属性。
24.本发明还公开了一种数据分类方法,包括如下步骤:
25.t1、收集数据,并根据数据标签对数据进行分类并标记;
26.t2、将t1的数据通过上述的粒球生成方法生成若干粒球;
27.t3、将若干所述粒球输入到粒球k-近邻算法进行分类,获得最终的分类结果。
28.作为优化,在进行步骤t3之前,还需要对生成的粒球根据该粒球的标签进行标记以及定义所述粒球的纯度。
29.作为优化,所述粒球的标签具体为:
30.label(gb)=label(max(|ci|));
31.其中,|ci|表示第i类样本点的数量,max(|ci|)表示样本数量最多的某一类样本。
32.作为优化,所述粒球的纯度具体为:
[0033][0034]
其中,|ci|表示第i类样本的数量,max|ci|代表数量最多的某一类别的样本点的数量。
[0035]
本发明还公开了一种分类器,使用上述的一种数据分类方法进行分类。
[0036]
本发明与现有技术相比,具有如下的优点和有益效果:
[0037]
1.本发明所提出的粒球生成方法,无需每次都计算所有样本点的到k个聚类中心的距离,相较于传统的k-means聚类算法,计算量较小,生成粒球的效率较高;
[0038]
2.本发明的分类器的分类方法的输入数据为粒球,相较于传统的样本点的输入数据,效率高,鲁棒性好。
附图说明
[0039]
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
[0040]
图1为本发明所述的一种粒球生成方法的流程图;
[0041]
图2为加速粒球生成方法和现有方法生成粒球分布比较,(a)现有方法生成的粒球结果;(b)加速方法生成的粒球结果;
[0042]
图3为本发明的粒球生成方法应对原始和加噪数据集所生成的粒球结果,(a)原始
数据集上的粒球结果;(b)加噪声数据集上的粒球结果。
具体实施方式
[0043]
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
[0044]
实施例1
[0045]
一种粒球生成方法,包括如下步骤:
[0046]
s1、将收集到的数据整合到一起,形成数据集并进行分类;
[0047]
s2、将分类后的所述数据集进行k次划分成k个粒球,k为该k次划分的数据集中的数据分类类别数量;
[0048]
本实施例中,s2的具体步骤为:
[0049]
s2.1、随机选取该k次划分的数据集中的一个样本点,计算该数据集中所有样本点到该样本点的距离;
[0050]
s2.2、随机选取一个除已作为聚类中心的样本点所归属的类型以外的类型的样本点作为新的聚类中心,分别计算除已作为聚类中心以外的所有样本点到成为新聚类中心的距离;
[0051]
s2.3、重复s2.2(k-2)次,k为数据集中样本点的分类类别数量,直到数据集中的所有样本点均被划分到对应聚类中心的子簇中,每个子簇均被视为一个粒球。遍历数据集中的每个样本点,计算样本点到新的聚类中心的距离,然后根据距离,将样本点划到距该样本点最近的子簇中,这样能够保证每个样本点均被分到子簇中。此外,每个样本点均有一个距其最近的子簇。
[0052]
现有的粒球生成方法为使用k-means聚类算法划分粒球。k-means算法在聚类过程中会经过多次迭代,每次迭代是一次划分,直到达到算法收敛条件,在每次的迭代过程中,都需要计算所有的样本点到k个聚类中心的距离,并根据距离划分簇,数据集中所有样本点会根据其到k个聚类中心的距离被分成k个簇,此外,每次迭代都会生成新的聚类中心,所以算法的计算量非常大,对粒球生成来说,效率较低。
[0053]
而本发明的粒球生成方法,直接将划分粒球的k-means算法替换为k次划分,每次计算样本点与新的聚类中心的距离的时候,不会每次都计算所有样本点到新的聚类中心的距离,直接降低了计算成本。具体的,传统的粒球生成方法使用k-means算法划分粒球,而k-means算法需要进行多次迭代,其中每次迭代都会计算所有样本点到所有聚类中心的距离,计算量很大,而本发明的粒球生成方法,只使用一次迭代,并只需要计算所有样本点到新的k-1个聚类中心的距离。因此,大大减少了计算量。
[0054]
如图1所示,在进行图1中的步骤2时,以即将进行划分粒球a(s1中的数据集)为例,生成粒球a的聚类中心记为a,点a仍作为粒球a的某个子簇的聚类中心;因此,只需要再选择k-1个异类样本点作为粒球a的新k-1个子簇的聚类中心,粒球a中的所有样本点不再需要计算到原聚类中心a的距离,以此进一步降低了计算成本,最后,进行一次全局划分,即使用所有聚类中心进行一次针对整个数据集的聚类,使得聚类中心靠近对应的粒球的球心。而在进行粒球生成的时候,还需要判断粒球的质量是否均符合要求,如s3。
[0055]
s3、判断每个生成的粒球的质量是否均符合要求,若是,得到所有粒球的聚类中心,跳转至s5,否则,跳转至s4;
[0056]
本实施例中,判断每个粒球的质量是否符合要求的具体步骤为:
[0057]
s3.1、计算当前粒球的纯度,即当前粒球中多数类样本占总数的比例;
[0058]
s3.2、将当前粒球的纯度和设定的纯度阈值进行比较,若小于纯度阈值,则当前粒球质量不符合要求,跳转至s2继续划分;反之则符合,其中纯度阈值即为算法的输入参数。
[0059]
s4、不符合要求的粒球跳转至s2,并保留符合要求的粒球;
[0060]
s5、将所有粒球的聚类中心进行全局划分,使得聚类中心靠近对应的粒球的球心。
[0061]
本实施例中,s5的具体步骤为:
[0062]
s5.1、以s4所选取到的所有聚类中心作为全局划分的若干划分中心,计算所有样本点分别到该若干划分中心的欧氏距离;
[0063]
s5.2、根据该欧氏距离将样本点划分到距离其最近的簇中,全局划分完成。
[0064]
加速粒球生成方法中,进行了一次全局划分,该次划分使得粒球的分布比现有方法更加贴合数据的分布,因此加速方法生成的粒球具有更强的鲁棒性。从实验效果上可以得出,本发明的粒球生成方法在保证更高的粒球生成质量的同时整体效率可领先现有方法数倍,甚至在某些数据集上可领先数十倍,通过本发明的方法生成的粒球和与传统的k-means算法生成的粒球对比如图2所示。
[0065]
实施例2
[0066]
本发明还公开了一种数据分类方法,包括如下步骤:
[0067]
t1、收集数据,并根据数据标签对数据进行分类并标记;本实施例中,所述数据包括数据标签和数据属性,所述数据集包括数据对应的数据标签和数据属性。更具体的,在医学疾病预测分类中,数据可以为人工收集的病患信息,该病患信息包括已确诊的疾病和相关病征。将已确诊的疾病作为数据标签,对应的病征作为数据的属性信息,构成一个含标签的数据集。
[0068]
t2、将t1的数据通过上述的粒球生成方法生成若干粒球;
[0069]
此步骤主要是在构建出的数据集上应用实施例l的粒球生成方法,生成若干个粒球。
[0070]
粒球的刻画参数:
[0071]
粒球本质上是超球体,在任意维度下都可以只用两个参数进行刻画,即中心和半径。给定一个粒球gb={x_i(i=1,
…
,n)},其中x_i表示粒球gb中的样本,n为粒球gb中样本的数量,那么gb的中心c可表示半径r可表示为式中d(x
i-c)表示样本点xi到中心c的欧氏距离。
[0072]
粒球的标签和质量:
[0073]
粒球的在人工收集的病患信息中,会不可避免地出现一些噪声数据,为了增强粒球的鲁棒性,粒球包含标签和纯度的概念,图3为本发明的粒球生成方法应对原始和加噪数据集所生成的粒球结果。同时,使用粒球代替样本点去刻画数据集的整体特征,需要对粒球进行分类,打上对应的标签。粒球划分结果的好坏由纯度来进行刻画,能表明粒球在何种粒度上表征当前数据集。所以,参与后续的分类时,粒球中多数类样本点的标签即为粒球的标
签,粒球的纯度表示粒球中多数类别所占粒球中所有样本的比例。例如,一个包含100个样本点的粒球,其中正类样本为80个,负类样本为20个,则该粒球的标签为正,纯度为0.8。可将粒球的标签类别和纯度定义为:
[0074]
粒球gb的标签label(gb)和纯度t
gb
可表示为:
[0075]
label(gb)=label(max(|ci|))
[0076][0077]
其中,|ci|表示第i类样本点的数量,max(|ci|)表示样本数量最多的某一类样本,max|ci|代表数量最多的某一类别的样本点的数量,请注意max(|ci|)和max|ci|不一样。
[0078]
t3、将若干所述粒球输入到粒球k-近邻算法(gbknn)进行分类,获得最终的分类结果。k-近邻算法没有样本点的输入,而只有粒球输入,某个待预测的样本可看作半径为极小值和中心为该点的一个粒球。
[0079]
gbknn算法基本思想为:基于粒球计算,单个待测样本点是一个半径非常小的粒球,其预测标签等于距离最近的粒球的标签,该粒球的标签由其内多数样本的标签决定,因此,gbknn与传统knn的共同特点是待测样本点的标签是由多个已知样本点决定的,而gbknn的主要优点是不需要优化参数k,待测样本点标签由不同粒度的最近邻粒球决定;其次,粒球的数量远小于样本点,所以待测样本点查询距离最近粒球的计算量远小于knn,使得gbknn比传统knn效率更高;此外,传统knn的决策会受到标签噪声的影响,而gbknn将一些少数样本视为噪声,因此具有很好的鲁棒性,特别是对有噪声的数据集。
[0080]
将步骤t2得到的粒球输入到gbknn分类算法当中,获得最终的分类结果,以此为待测病人预测确诊的疾病。
[0081]
实施例3
[0082]
本发明还公开了一种分类器,使用上述的一种数据分类方法进行分类。
[0083]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种粒球生成方法,其特征在于,包括如下步骤:s1、将收集到的数据整合到一起,形成数据集并进行分类;s2、将分类后的所述数据集进行k次划分成k个粒球,k为该k次划分的数据集中的数据分类类别数量;s3、判断每个生成的粒球的质量是否均符合要求,若是,得到所有粒球的聚类中心,跳转至s5,否则,跳转至s4;s4、不符合要求的粒球跳转至s2,并保留符合要求的粒球;s5、将所有粒球的聚类中心进行全局划分,使得聚类中心靠近对应的粒球的球心。2.根据权利要求1所述的一种粒球生成方法,其特征在于,s2的具体步骤为:s2.1、随机选取该k次划分的数据集中的一个样本点,计算该数据集中所有样本点到该样本点的距离;s2.2、随机选取一个除已作为聚类中心的样本点所归属的类型以外的类型的样本点作为新的聚类中心,分别计算除已作为聚类中心以外的所有样本点到成为新聚类中心的距离;s2.3、重复s2.2(k-2)次,k为数据集中样本点的分类类别数量,直到数据集中的所有样本点均被划分到对应的子簇,每个子簇均被视为一个粒球。3.根据权利要求2所述的一种粒球生成方法,其特征在于,s3中,判断每个粒球的质量是否符合要求的具体步骤为:s3.1、计算当前粒球的纯度,即当前粒球中多数类样本占总数的比例;s3.2、将当前粒球的纯度和设定的纯度阈值进行比较,若小于纯度阈值,则当前粒球质量不符合要求,跳转至s2继续划分;反之则符合,其中纯度阈值即为算法的输入参数。4.根据权利要求2或3所述的一种粒球生成方法,其特征在于,s5的具体步骤为:s5.1、以s4所选取到的所有聚类中心作为全局划分的若干划分中心,计算所有样本点分别到该若干划分中心的欧氏距离;s5.2、根据该欧氏距离将样本点划分到距离该样本点最近的簇中,全局划分完成。5.根据权利要求1所述的一种粒球分类方法,其特征在于,所述数据包括数据标签和数据属性,所述数据集包括数据对应的数据标签和数据属性。6.一种数据分类方法,其特征在于,包括如下步骤:t1、收集数据,并根据数据标签对数据进行分类并标记;t2、将t1的数据通过权利要求1-5任一所述的粒球生成方法生成若干粒球;t3、将若干所述粒球输入到粒球k-近邻算法进行分类,获得最终的分类结果。7.根据权利要求6所述的一种数据分类方法,其特征在于,在进行步骤t3之前,还需要对生成的粒球根据该粒球的标签进行标记以及定义所述粒球的纯度。8.根据权利要求7所述的一种数据分类方法,其特征在于,所述粒球的标签具体为:label(gb)=label(max(|c
i
|));其中,|c
i
|表示第i类样本点的数量,max(|c
i
|)表示样本数量最多的某一类样本。9.根据权利要求8所述的一种数据分类方法,其特征在于,所述粒球的纯度具体为:
其中,|c
i
|表示第i类样本的数量,max|c
i
|代表数量最多的某一类别的样本点的数量。10.一种分类器,其特征在于,使用权利要求6-9任一所述的一种数据分类方法进行分类。
技术总结
本发明涉及计算机技术领域,公开了一种粒球生成方法、数据分类方法和分类器,包括如下步骤:S1、将收集到的数据整合到一起,形成数据集并进行分类;S2、将分类后的所述数据集进行K次划分成K个粒球,K为该K次划分的数据集中的数据分类类别数量;S3、判断每个生成的粒球的质量是否均符合要求,若是,得到所有粒球的聚类中心,跳转至S5,否则,跳转至S4;S4、不符合要求的粒球跳转至S2,并保留符合要求的粒球,S5、将所有粒球的聚类中心进行全局划分,使得聚类中心靠近对应的粒球的球心。本发明所提出的粒球生成方法,无需每次都计算所有样本点的到K个聚类中心的距离,相较于传统的k-means聚类算法,计算量较小,生成粒球的效率较高。生成粒球的效率较高。生成粒球的效率较高。
技术研发人员:陈子忠 代晓川 夏书银
受保护的技术使用者:重庆邮电大学
技术研发日:2023.03.10
技术公布日:2023/7/19
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
