CN108846259B - 一种基于聚类和随机森林算法的基因分类方法及系统 - Google Patents
一种基于聚类和随机森林算法的基因分类方法及系统 Download PDFInfo
- Publication number
- CN108846259B CN108846259B CN201810386382.4A CN201810386382A CN108846259B CN 108846259 B CN108846259 B CN 108846259B CN 201810386382 A CN201810386382 A CN 201810386382A CN 108846259 B CN108846259 B CN 108846259B
- Authority
- CN
- China
- Prior art keywords
- gene
- clustering
- algorithm
- random forest
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 171
- 238000007637 random forest analysis Methods 0.000 title claims abstract description 131
- 108090000623 proteins and genes Proteins 0.000 title claims abstract description 124
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000003066 decision tree Methods 0.000 claims abstract description 93
- 238000012549 training Methods 0.000 claims abstract description 61
- 230000001502 supplementing effect Effects 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 40
- 239000013598 vector Substances 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 26
- 230000014509 gene expression Effects 0.000 claims description 21
- 230000011218 segmentation Effects 0.000 claims description 14
- 230000009467 reduction Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013145 classification model Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 9
- 206010012818 diffuse large B-cell lymphoma Diseases 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 6
- 210000002307 prostate Anatomy 0.000 description 6
- 208000023958 prostate neoplasm Diseases 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 208000032839 leukemia Diseases 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000003064 k means clustering Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010028980 Neoplasm Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 150000001413 amino acids Chemical class 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011223 gene expression profiling Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于聚类和随机森林算法的基因分类方法及系统,属于生物信息技术领域。本发明首先获取基因样本数据,利用聚类算法对获取的基因样本数据进行聚类,得到聚类中心,用得到的聚类中心集补充训练样本集;然后将传统随机森林算法中固定的决策树随机描述属性个数调整为随机值,一方面要保留决策树集中较强的决策树,另一方面要减少决策树集的平均随机描述属性个数,进而降低决策树之间的相关性;最后利用随机森林模型中每棵决策树对待分类的基因数据进行预测。本发明通过聚类算法得到的聚类中心作为人造数据对随机森林模型的训练集进行扩充,使随机森林模型得到充分的训练,得到的分类模型精度较高,提高了对基因数据分类的准确性。
Description
技术领域
本发明涉及一种基于聚类和随机森林算法的基因分类方法及系统,属于生物信息技术领域。
背景技术
基因数据分类是当下信息和决策领域的研究重点和热点问题,由于基因数据具有维度高、样本小、噪声多、冗余属性多等特点。采用传统数据分析方法可能面临耗费时间较长、分类精度较低等问题。针对基因数据的这些特点,现有的模式识别和机器学习算法,如线性判别、支持向量机、人工神经网络和k近邻等算法已经得到了广泛的研究和应用。
随机森林算法(Random Forest,RF)是集成学习算法的一种,在处理多维数据时,具有快速、高效的特点,因此它很快成为一种经典的数据挖掘算法。近年来,在医学、生物信息学等领域得到了广泛的应用。其核心思想是通过对样本的随机采样,分类属性的随机抽取来生成大量有差异的决策树,采用决策树投票的方法来提高模型的准确率。算法在构建决策树时并不会将所有的属性都作为分类属性,而是随机选择属性集一部分作为分类属性,使决策树之间存在差异性,当决策树数目达到一定值的时候,分类精度就很难继续提高。另外随机森林等机器学习算法的准确率很大程度上取决于训练集的丰富性,因此,对于样本数较少的基因数据来说,随机森林算法的模型无法得到充分的训练。
郭颖婕等撰写的《植物抗性基因识别中的随机森林分类方法》(计算机科学与探索,2012,6(1):67-77.),提出了利用随机森林分类器和K-means聚类降采样的抗性基因识别方法,该方法首先提取氨基酸特征,用来描述蛋白质序列的全局信息,形成多维特征向量;然后采用K-means聚类对初始训练集中反例数据集进行K-means聚类,实现降采样;最后使用随机森林进行分类,从而实现基因的识别。该方法虽然也能够实现基因的分类,但是K-means聚类是对数据中样本数较多的一类样本集进行降采样,目的是降低数据的不平衡性并最大限度地保留数据的信息;而基因表达谱数据属于小样本数据,训练集个数较少,随机森林模型的精度不能保证,导致该方法分类不够准确。
发明内容
本发明的目的是提供一种基于聚类和随机森林算法的基因分类方法及系统,以解决目前基因分类方法由于样本数据少而导致分类不准确的问题。
本发明为解决上述技术问题而提供一种基于聚类和随机森林算法的基因分类方法,该基因分类方法包括以下步骤:
1)获取基因样本数据,利用聚类算法对获取的基因样本数据进行聚类,得到聚类中心;
2)将得到的聚类中心补充到基因样本数据中,形成数据集,并在数据集中抽取至少两个训练集,每个训练集生成一个子树,在随机森林模型每棵子树生成过程中选取基因数据中Ft个描述属性,找出信息增益率最大的描述属性作为分类属性,分裂每个节点直到所有叶节点中的样本都属于同一类,生成决策树,由生成的各决策树组成决策树集;
3)利用决策树集中每棵决策树对待分类的基因数据进行预测,将预测结果的众数作为该基因数据的分类。
本发明通过聚类算法得到的聚类中心作为人造数据对随机森林模型的训练集进行扩充,使随机森林模型得到充分的训练,得到的分类模型精度较高,提高了对基因数据分类的准确性。
进一步地,所述步骤1)中的聚类算法采用K-means++算法,在K-means++算法进行聚类过程中,采用Rsim函数来衡量样本间的相似度,Rsim函数表达式为:
其中d为基因样本数据的样本维度,和分别表示两个d维向量,xi和yi分别为向量和的i维属性值,min(xi,yi)代表xi和yi中绝对值较小的一个。本发明利用K-means++算法进行聚类,且聚类时的相似度函数采用Rism函数来确定,提升了K-means++算法在高维数据上进行聚类的准确度。
进一步地,所述步骤1)中的聚类算法采用K-means++算法,在K-means++算法进行聚类过程中,在Rsim的基础上定义Sim函数来衡量样本间的相似度,Sim函数表达式为:
本发明利用K-means++算法进行聚类,且聚类时的相似度函数综合了Rism函数和余弦系数,克服了现有K-means++算法采用欧式距离函数所得到的相似度无法准确度量基因样本数据相似程度的问题,提高聚类精度。
进一步地,所述步骤2)中在进行随机森林模型训练时所选取的描述属性个数Ft是随机的,其表达式为:
本发明在考虑到聚类算法相似度度量的同时,还考虑到随机森林模型建立过程中,RF的决策树随机描述属性个数对模型的准确度造成很大的影响,Breiman Leo撰写的《Random Forests》(Machine learning,2001,45(1):5-32.)研究表明对于小样本数据,随着随机描述属性个数的增加,随机森林模型的强度基本保持不变,相关系数会相应增加,因此,在小样本数据中,适当降低随机描述属性个数有利于随机森林模型精度的提高,本发明将随机描述属性个数采用随机值,在习惯取值的基础上减少部分决策树的随机描述属性个数,使随机森林模型的相关系数降低,并保留了随机描述属性多、强度高的决策树,使随机森林模型的强度得到有效提高。
进一步地,所述步骤1)在对基因样本数据聚类前,需要对基因样本数据进行降维处理。
进一步地,所述步骤1)采用Fisher Score算法进行对基因样本数据进行降维处理。
本发明在聚类前对基因样本数据进行降维处理,降低了算法的复杂度,提高了整个方法的效率。
进一步地,所述步骤2)中在利用训练集对随机森林模型进行训练前,还需对训练集中样本数较少的一类样本进行过采样。
进一步地,随机森林采用C4.5算法生成子树,并在C4.5算法中,引入二元化的基于熵的分割算法,该算法的划分指标是信息增益最大原则。
本发明克服了C4.5算法中,连续型属性分割点选取采用的信息增益率最大原则,导致数据划分点信息度量不准确的问题,本发明将划分指标采用信息增益最大原则,可以更准确地对连续型属性进行划分。
本发明还提供了一种基于聚类和随机森林算法的基因分类系统,该基因分类系统包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现以下步骤:
1)获取基因样本数据,利用聚类算法对获取的基因样本数据进行聚类,得到聚类中心;
2)将得到的聚类中心补充到基因样本数据中,形成数据集,并在数据集中抽取至少两个训练集,每个训练集生成一个子树,在随机森林模型每棵子树生成过程中选取基因数据中Ft个描述属性,找出信息增益率最大的描述属性作为分类属性,分裂每个节点直到所有叶节点中的样本都属于同一类,生成决策树,由生成的各决策树组成决策树集;
3)利用决策树集中每棵决策树对待分类的基因数据进行预测,将预测结果的众数作为该基因数据的分类。
进一步地,所述步骤1)中的聚类算法采用K-means++算法,在K-means++算法进行聚类过程中,采用Rsim函数来衡量样本间的相似度,Rsim函数表达式为:
进一步地,所述步骤1)中的聚类算法采用K-means++算法,在K-means++算法进行聚类过程中,在Rsim的基础上定义Sim函数来衡量样本间的相似度,Sim函数表达式为:
进一步地,所述步骤2)中在进行随机森林模型训练时所选取的描述属性个数Ft是随机的,其表达式为:
进一步地,所述步骤1)在对基因样本数据聚类前,需要对基因样本数据进行降维处理。
进一步地,所述步骤1)采用Fisher Score算法进行对基因样本数据进行降维处理。
进一步地,所述步骤2)中在利用训练集对随机森林模型进行训练前,还需要对训练集中样本数较少的一类样本进行过采样。
进一步地,随机森林采用C4.5算法生成子树,并在C4.5算法中,引入二元化的基于熵的分割算法,该算法的划分指标是信息增益最大原则。
附图说明
图1是本发明基因分类方法的流程图;
图2是本发明基因分类方法的原理图;
图3(a)是CNS数据集下的本发明与经典随机森林算法的分类精度对比示意图;
图3(b)是DLBCL数据集下的本发明与经典随机森林算法的分类精度对比示意图;
图3(c)是leukemia数据集下的本发明与经典随机森林算法的分类精度对比示意图;
图3(d)是leukemia2数据集下的本发明与经典随机森林算法的分类精度对比示意图;
图3(e)是Prostate数据集下的本发明与经典随机森林算法的分类精度对比示意图;
图3(f)是Prostate Tumor数据集下的本发明与经典随机森林算法的分类精度对比示意图;
图4(a)是CNS数据集下的本发明与经典随机森林算法的运行时间对比示意图;
图4(b)是DLBCL数据集下的本发明与经典随机森林算法的运行时间对比示意图;
图4(c)是leukemia数据集下的本发明与经典随机森林算法的运行时间对比示意图;
图4(d)是leukemia2数据集下的本发明与经典随机森林算法的运行时间对比示意图;
图4(e)是Prostate数据集下的本发明与经典随机森林算法的运行时间对比示意图;
图4(f)是Prostate Tumor数据集下的本发明与经典随机森林算法的运行时间对比示意图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步的说明。
本发明基于聚类和随机森林算法的基因分类方法的实施例。
随机森林算法对训练集的依赖性比较大,训练样本集元素个数多,样本丰富,模型就训练得更完善,但对于小样本的基因数据来说,训练集元素较少,随机森林模型的精度得不到保证。因此,本发明的基因分类方法融合了聚类算法和随机森林算法,如图2所示,通过聚类算法得到的聚类中心加入训练集中,作为训练集的扩充,以对随机森林模型进行充分的训练,从而获得更好的分类效果。本发明基因分类方法的流程如图1所示,本发明首先在Hsim基础提出相似度度量函数使其能够更准确地表达出高维样本之间的相似性,结合K-means++算法,对基因数据进行聚类,将得到的聚类中心集用来补充训练样本集;然后,在C4.5算法基础上使用信息增益最大原则对基因数据进行离散化处理,以提高数据划分准确度;其次,针对基因训练样本集,构建C4.5决策树,将传统随机森林算法中固定的决策树随机描述属性个数调整为随机值,一方面要保留决策树集中较强的决策树,另一方面要减少决策树集平均随机描述属性个数,进而降低决策树之间的相关性;最后,对决策树集的分类进行投票,取众数作为最终基因样本的分类。具体实施过程如下:
1.获取基因样本数据,利用聚类算法对获取的基因样本数据进行聚类,得到聚类中心。
收集基因样本数据,本发明采用K-means++聚类算法对基因样本数据进行聚类。K-means++算法改进了传统K-means算法选取的初始聚类中心的方法,使所选取的聚类中心变得更加合理有效,从而得到更好的全局最优结果,是目前使用最广泛的一种聚类算法,K-means++算法在聚类的准确性和运行时间上也有了较大的提高。K-means++算法如下:
Step1从数据点集X中随机选择一个聚类中心S1。
Step3重复执行Step2,直到km个聚类都被选完为止。
Step6重复执行Step4和Step5直到聚类中心的位置不再变化。
但是K-means++算法使用欧式距离度量样本之间的相似度,欧式距离并不适合度量高维数据的相似度。为此,本发明选用改进的K-means++算法进行聚类,即采用改进的Hsim函数来衡量样本之间的相似度,其中Hsim函数为:
和分别表示两个d维向量,xi和yi分别为向量和的i维属性值,对于Hsim函数,两个样本中数值相近的维度占主导地位,样本相似的维度越多,样本相似度越高,函数值在0和1之间,克服了欧氏距离在高维数据中对比性较低的缺点。然而此函数对于基因数据仍有一些不足:
(1)如两个样本的两个维度分别为(2,4)和(202,204),在Hsim函数中具有相同的相似度,但是后者的相似度明显更高。
(2)此函数没有考虑到基因数据不同属性数值大小范围的不同,设两个样本的对应维度值分别为(2,4)和(200,400)。两者的相似度应该是相同的,但是在Hsim函数中,(200,400)的函数值极小,对样本相似度几乎没有贡献。
针对以上两个问题,本发明对Hsim函数进行以下改进:
采用Rsim函数克服了以上两个问题,能够更好地度量基因数据的相似程度。min(xi,yi)代表xi和yi中绝对值较小的一个。
由于余弦系数通过度量两个样本(向量)间夹角的余弦值判断样本间的相似程度,适合于高维数据,因而本发明将Rsim函数和余弦系数结合后作为基因样本间的相似度度量函数,随着向量和相似程度提高,余弦系数值单调递增,的值单调递增。为了和欧氏距离的单调性保持一致,改进后两个n维向量和的相似度公式为:
这里余弦系数和Rsim函数都作为一个衡量样本相似度的范围值,而不考虑其实际意义。
本实施例综合考虑两种相似度函数,得到了更好的聚类效果,将得到的聚类中心作为随机森林训练集的扩充。
为了降低算法的复杂度,在进行聚类前,还需要对所收集的基因样本数据进行降维处理,本实施例采用Fisher Score算法处理基因样本数据集U,降低基因样本数据的维度。
2.将得到的聚类中心补充到基因样本数据中,并用Bootstrap方法在数据集中抽取至少两个训练集(一般情况下都选50个以上),每个训练集生成一个子树,在随机森林模型每棵子树生成过程中选取基因数据中Ft个描述属性,找出信息增益率最大的描述属性作为分类属性,分裂每个节点直到所有叶节点中的样本都属于同一类,生成决策树,多棵决策树组成决策树集。
随机森林f是n棵决策树{h(X,θk)}的集合,决策树使用C4.5算法构建,θk是同分布的随机向量,决定单棵树的生长过程;然后随机森林算法采用多数投票法得到最终预测结果。
随机森林(RF)算法的具体步骤描述如下:
输入:不平衡基因表达谱数据集及其分类U={(Xi,Yi),i=1,2,…,n,其中(X,Y)∈Rd×R},待测样本xt∈Id,X=(X1,X2,…,Xd)∈Rd,Y=R,Rd和R分别代表数据集U的描述属性和决策属性,Id为待测样本的描述属性,n代表数据集U中元素个数,d为数据集U的维度。
输出:树的集合h={hi,i=1,2…,Ntree}和待测样本的分类,Ntree代表决策树的个数。
Step1对数据集U进行Bootstrap抽样,生成训练集Train={Traini,i=1,2,…,Ntree}。
Step2用Traini生成一棵不剪枝的决策树hi:
a.从L个描述属性中随机选取Ft个描述属性;
b.使用C4.5算法生成一棵决策树;
c.循环执行步骤a、b共计Ntree次,生成决策树集h。
函数vote代表决策树的投票结果,majority在投票结果中取多数,Ntree代表决策树集的元素个数,hi(xt)是待测样本的预测结果。
随机森林的核心思想是通过构建大量有差异的基分类器,通过基分类器投票的方法得到最终分类,随机森林基分类器决策树的生成算法有CART、ID3、C4.5等,C4.5算法是ID3的改进算法,它克服了ID3算法的多值偏向问题和无法处理连续型属性的问题,核心思想是通过训练集递归的建立决策树模型,具有较高的准确度。本发明采用C4.5算法生成随机森林基分类器,其详细过程如下:
Step1对数据集进行预处理,若数据集为连续型描述属性,需要将数据集离散化,并计算Ft个随机选取的描述属性的信息增益率,选择信息增益率最大的描述属性作为根节点的分类属性。
设训练集Traini为T,类别集合为{C1,C2,…,Ck},总共分为k个类,每个类对应1个数据子集Ti(1≤i≤k)。令|T|为数据集T的样本数,|Ci|为数据集T中属于类别Ci的样本数,则各先验概率为对数据集T进行分类所需要的信息熵为:
设随机选取的Ft个描述属性为Ak(k=1,2,…,l)有q个不同的取值{a1k,a2k,…,aqk},用描述属性Ak可将数据集T划分为q个子集{T1,T2,…,Tq},Tj(j=1,2,…,q)中的样本在属性Ak上具有相同的取值ajk,|Tj|为子集j中的样本数,为子集Tj中属于类别Ci的样本数,则由描述属性Ak划分数据集T所得信息熵为:
Gain(Ak)=I(|C1|,|C2|,…,|Ck|)-E(Ak) (4)
描述属性Ak的信息熵为:
由式(4)和(5)可得信息增益率为:
其中,k=1,2,…,l,此式即为描述属性Ak划分数据集T的信息增益率。
Step2根据根节点属性不同取值所对应的数据子集,循环采用与Step1相同的方法递归地建立树的分枝,选择分枝中信息增益率最大的属性作为子节点的分类属性,直到所有分枝节点中的样本属于同一类别,即叶节点中所有样本的决策属性取值相同时为止。
C4.5算法对于某一连续型的描述属性Ak的处理方法如下:设某节点中数据集的样本数量为Tj。
将该节点上的所有数据样本按照连续型描述属性的具体取值,由小到大进行排列,得到描述属性值的取值序列
描述属性Ak的Tj-1种分割中的每一种情况,都可作为该描述属性的2个离散取值,重新构造该描述属性的离散值,按照上述公式计算每一种分割所对应的信息增益率Gain_Ration(Ak),选择其中信息增益率最大的分割阈值作为描述属性Ak的最佳分割阈值,即
Threshold(Ak)=ak (9)
Gain_Ration(ak)=max{Gain_Ration(ai)},即ak是ai中信息增益率最大者,C4.5算法具有较高的准确度,并且克服了ID3算法无法处理连续性属性的缺点,但是在进行连续型属性离散化时,采取信息增益率作为选取最佳分割值阈值的指标,属性的信息熵(Split)会影响分裂点信息度量准确性。若某分界点恰好将连续型属性分成数目相等的两部分时,其抑制作用最大。因此,本发明在传统C4.5算法中,引入一种二元化的基于熵的分割算法,将原C4.5算法中选择信息增益率最大的分割阈值作为描述属性Ak的最佳分割阈值改为选取信息增益最大的分割阈值作为描述属性Ak的最佳分割阈值,称为改进C4.5算法,可以更准确地对连续型属性进行划分。
在随机森林每棵子树生成过程中,并不是将样本中的全部L个描述属性参与节点分裂,而是随机抽取Ft(Ft≤L)个描述属性,由于抽取的Ft个描述属性具有随机性,从而使得每棵决策树在生长的过程当中,都有区别于其他决策树,然而在实际随机森林模型建立中,Ft的大小会对模型的准确度造成很大影响。本发明提出一种确定Ft大小的方法,其表达式如下:
随机森林通过大量决策树的投票来得到最终结果,传统随机森林算法中,不同的决策树Ft是一个固定值,一般取随机森林采取大量决策树投票的方式得到最终分类,由于决策树之间存在相似性,所以当决策树数量达到一定值的时候,分类精度不再提升,相关系数越低且强度越高的RF模型越好,而且Breiman Leo撰写的《Random Forests》(Machine learning,2001,45(1):5-32.)的研究结果表明,对于小样本数据,决策树随机描述属性个数提高时,RF强度基本不变,相关系数提高,所以适当减少随机描述属性个数有利于随机森林模型对小样本基因数据建立分类模型。Ft是一个在区间波动的值,随机森林模型的随机描述属性减少,相关系数降低,并保留了随机描述属性多、强度高的决策树,随机森林模型的强度从而得到提高。
3.利用随机森林模型中的决策树集中各棵决策树对待测基因数据进行预测,预测结果的众数即为该基因数据的分类。
本发明基于聚类和随机森林算法的基因分类系统的实施例。
该基因分类系统包括存储器和处理器,以及存储在存储器上并在处理器上运行的计算机程序,处理器与存储器相耦合,处理器执行计算机程序时实现以下步骤:
1)获取基因样本数据,利用聚类算法对获取的基因样本数据进行聚类,得到聚类中心;
2)将得到的聚类中心补充到基因样本数据中,并用Bootstrap方法在数据集中抽取至少两个训练集,每个训练集生成一个子树,在随机森林模型每棵子树生成过程中采用C4.5算法,多棵决策树组成决策树集;
3)利用决策树集中每棵决策树对待分类的基因数据进行预测,将预测结果的众数作为该基因数据的分类。
输入:不平衡基因表达谱数据集及其分类U={(Xi,Yi),i=1,2,…,n,其中(X,Y)∈Rd×R},待测样本xt∈Id,X=(X1,X2,…,Xd)∈Rd,Y=R,Rd和R分别代表基因数据的描述属性集和决策属性,Id为待测样本的描述属性,n代表数据集U中元素个数,d为数据集U的维度。
输出:树的集合h={hi,i=1,2…,Ntree}和待测样本的分类,Ntree代表决策树的个数。
具体过程如下:
Step1采用Fisher Score算法处理基因表达谱数据集U,降低基因数据的维度。
Step2利用改进的K-means++算法对数据集U进行聚类,将聚类中心集S={(xi,yi),i=1,2,…,m,其中(x,y)∈rd×r}作为人造数据集加入数据集U,得到数据集U’。x=(x1,x2,…,xd)∈rd,y∈r,rd和r分别代表聚类中心集的描述属性和决策属性,m代表聚类中心集的元素个数。
Step3将数据集U’中样本根据其相应的决策属性类别分割为样本数较多的大样本类集N和样本数较少的小样本类集M。在M中采取过采样技术,直到M的样本数目和N的样本数目一致。
Step4对数据集U’进行Bootstrap抽样,生成训练集Train={Traini,i=1,2,…,Ntree}。
Step5使用Traini生成一个不剪枝的决策树集h;
a.从数据集U’个属性中随机选取Ft个描述属性;
b.使用改进的C4.5算法生成一棵决策树;
c.循环执行a、b共计Ntree次,生成决策树集h。
函数vote代表决策树的投票结果,majority在投票结果中取多数,hi(xt)是决策树对待测样本的预测结果。
实验验证
下面选用6个公开的基因表达谱数据集对本发明的基因分类方法进行验证。6个数据集包括CNS、DLBCL、Leukemia、Leukemia2、Prostate和Prostate Tumor,其中CSN从http://datam.i2r.a-star.edu.sg/datasets/krbd/下载,DLBCL、Leukemia和Leukemia2和Prostate Tumor从http://www.gems-system.org/下载,Prostate从http://featureselection.asu.edu/datasets.php下载。所选用的上述数据集均为两类数据集,其详细信息如表1所示。
表1 6个基因表达谱数据集的描述
序号 | 数据集 | 属性数 | 样本数(大样本类/小样本类) |
1 | CNS | 7129 | 39/21 |
2 | DLBCL | 5469 | 58/19 |
3 | Leukemia | 7129 | 47/25 |
4 | Leukemia2 | 7129 | 47/25 |
5 | Prostate | 12600 | 77/59 |
6 | Prostate Tumor | 10509 | 53/49 |
从表1中可以看出,数据集样本数在60与136之间,而属性数在5469与12600之间,是典型的高纬度小样本数据,本发明就是通过研究已有少量样本构造诊断模型,对测试样本的决策属性进行预估。
本实验用的两种算法分别是经典随机森林(RF)算法和本发明的基于K-means++聚类和随机森林的基因分类(KMCRF-GC)算法,构建决策树的算法全部采用C4.5算法。
实验环境:Inter(R)Core(TM)i7-7700,主频3.60GHZ,内存为4.0GB。由于在实际的训练中,测试集中不应出现训练集样本,原数据的一部分作为测试集,另一部分用来产生训练集,首先用训练集对分类模型进行训练,再利用测试集来测试训练得到的模型,这种思想称为n折交叉验证,是目前普遍承认的一种验证方法,本实验取n=5,先在实验数据集随机不放回抽取的样本,在剩下的数据中加入人造数据作为训练集的来源,为了保证实验的客观性,测试集中只出现原始数据,而没有人造数据。然后建立随机森林模型对测试集进行预测,将以上过程重复n次,取每次分类精度的平均值。
上述两种算法在各个数据集上得到的不同决策树规模下分类精度分别图3(a)-3(f)所示。图3(a)是在CNS数据集下的分类精度,从中可看出,KMCRF-GC和RF的分类精度相比,KMCRF-GC明显高于RF;图3(b)是在DLBCL数据集下的分类精度,从中可看出,KMCRF-GC和RF的分类精度相比,KMCRF-GC有6个点高于RF的分类精度,占75%;图3(c)是在Leukemia数据集下的分类精度,从中可看出,KMCRF-GC和RF的分类精度相比,KMCRF-GC明显高于RF;图3(d)是在Leukemia2数据集下的分类精度,从中可看出,KMCRF-GC和RF的分类精度相比,KMCRF-GC有7个点高于RF,占87.5%;图3(e)是在Prostate数据集下的分类精度,从中可看出,KMCRF-GC和RF的分类精度相比,KMCRF-GC明显高于RF;图3(f)是在Prostate Tumor数据集下的分类精度,从中可看出,KMCRF-GC和RF的分类精度相比,KMCRF-GC有5个点高于RF,占62.5%。因此,可以证明本发明的方法相比传统的经典森林算法而言,分类精度有了明显提高。
上述两种算法在各个数据集上得到的运行时间分别图4(a)到图4(f)所示,这里KMCRF-GC的运行时间是数据预处理,改进K-means++算法,以及随机森林算法的运行时间之和,参数kp=2。实验选取了8个不同的决策树规模,RF算法的运行时间随着决策树数目和KMCRF-GC的运行时间相比,KMCRF-GC的运行时间明显少于RF;图4(b)、图4(d)、图4(e)和图4(f)中决策树规模较小时,KMCRF-GC运行时间略高于RF,这是用在数据预处理和聚类所花时间较长导致的,当决策树规模比较大时,由于本发明有降维处理的过程,时间优势更明显。
为了进一步证明本发明所提出的基因分类方法中对决策树中所选取随机描述属性数目进行改进的效果,在传统随机森林算法中将决策树的随机属性个数F改为Ft,此算法命名为F-RF,构建决策树的算法全部采用C4.5算法。选用上述6个数据集(CNS、DLBCL、Leukemia、Leukemia2、Prostate和Prostate Tumor)进行实验,经典森林算法RF和F-RF算法的分类精度结果如表2所示。
表2 6个数据集在RF和F-RF算法下的分类精度
从表2中可以见看出,F-RF算法分类精度明显高于RF算法,F-RF算法中决策树的随机属性个数Ft是一个在传统值以下波动的不定值,降低了决策树之间的相关系数,而研究表明对于样本量较小的数据集(比如小于1000),随着属性个数的增加,随机森林模型的强度基本保持不变,强度高且相关度低的随机森林模型更好,所以F-RF算法通过取随机值来降低随机森林中决策树集的平均随机属性个数,降低相关系数,从而提高了分类精度。
上述仿真实验的结果表明较经典随机森林算法在分类精度和运行时间上的性能都有了显著的提升。因此本发明采用改进的K-means++算法得到的聚类中心作为人造数据对随机森林模型的训练集进行扩充,使随机森林模型得到充分的训练,得到的分类模型精度较高,尤其对小样本数据分类效果更好;将传统随机森的随机属性个数改为一个随机值,使得决策树之间相关系数较小,分类精度较高;在提升分类精度的前提下的运行时间显著减少,尤其是决策树规模比较大时更为明显。
本发明首先采用一种新的高维数据相似度衡量函数,弥补了K-means++聚类算法采用欧氏距离难以衡量高维数据相似度的缺陷,并采用基因数据的聚类中心集补充训练样本集,解决了传统随机森林算法在处理小样本数据时所得训练集不足的问题,提高了随机森林模型的精度;然后引入一种二元化的基于熵的分割算法,提高了连续型基因数据离散化的准确度,最后将传统随机森林算法中固定的随机属性个数改为随机值,降低决策树集的平均随机属性个数,提高了随机森林算法对小样本高纬度基因数据的分类精度和分类速度。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (16)
1.一种基于聚类和随机森林算法的基因分类方法,其特征在于,该基因分类方法包括以下步骤:
1)获取基因样本数据,利用聚类算法对获取的基因样本数据进行聚类,得到聚类中心;所述基因样本数据为基因表达谱数据集;
2)将得到的聚类中心补充到基因样本数据中,形成数据集,并在数据集中抽取至少两个训练集,每个训练集生成一个子树,在随机森林模型每棵子树生成过程中选取基因数据中Ft个描述属性,找出信息增益率最大的描述属性作为分类属性,分裂每个节点直到所有叶节点中的样本都属于同一类,生成决策树,由生成的各决策树组成决策树集;
3)利用决策树集中每棵决策树对待分类的基因数据进行预测,将预测结果的众数作为该基因数据的分类。
5.根据权利要求1所述的基于聚类和随机森林算法的基因分类方法,其特征在于,所述步骤1)在对基因样本数据聚类前,需要对基因样本数据进行降维处理。
6.根据权利要求5所述的基于聚类和随机森林算法的基因分类方法,其特征在于,所述步骤1)采用Fisher Score算法对基因样本数据进行降维处理。
7.根据权利要求1所述的基于聚类和随机森林算法的基因分类方法,其特征在于,所述步骤2)中在利用训练集对随机森林模型进行训练前,还需对训练集中样本数较少的一类样本进行过采样。
8.根据权利要求1所述的基于聚类和随机森林算法的基因分类方法,其特征在于,随机森林采用C4.5算法生成子树,并在C4.5算法中,引入二元化的基于熵的分割算法,该算法的划分指标是信息增益最大原则。
9.一种基于聚类和随机森林算法的基因分类系统,其特征在于,该基因分类系统包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现以下步骤:
1)获取基因样本数据,利用聚类算法对获取的基因样本数据进行聚类,得到聚类中心;所述基因样本数据为基因表达谱数据集;
2)将得到的聚类中心补充到基因样本数据中,形成数据集,并在数据集中抽取至少两个训练集,每个训练集生成一个子树,在随机森林模型每棵子树生成过程中选取基因数据中Ft个描述属性,找出信息增益率最大的描述属性作为分类属性,分裂每个节点直到所有叶节点中的样本都属于同一类,生成决策树,由生成的各决策树组成决策树集;
3)利用决策树集中每棵决策树对待分类的基因数据进行预测,将预测结果的众数作为该基因数据的分类。
13.根据权利要求9所述的基于聚类和随机森林算法的基因分类系统,其特征在于,所述步骤1)在对基因样本数据聚类前,需要对基因样本数据进行降维处理。
14.根据权利要求13所述的基于聚类和随机森林算法的基因分类系统,其特征在于,所述步骤1)采用Fisher Score算法对基因样本数据进行降维处理。
15.根据权利要求9所述的基于聚类和随机森林算法的基因分类系统,其特征在于,所述步骤2)中在利用训练集对随机森林模型进行训练前,还需对训练集中样本数较少的一类样本进行过采样。
16.根据权利要求9所述的基于聚类和随机森林算法的基因分类系统,其特征在于,随机森林采用C4.5算法生成子树,并在C4.5算法中,引入二元化的基于熵的分割算法,该算法的划分指标是信息增益最大原则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810386382.4A CN108846259B (zh) | 2018-04-26 | 2018-04-26 | 一种基于聚类和随机森林算法的基因分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810386382.4A CN108846259B (zh) | 2018-04-26 | 2018-04-26 | 一种基于聚类和随机森林算法的基因分类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108846259A CN108846259A (zh) | 2018-11-20 |
CN108846259B true CN108846259B (zh) | 2020-10-23 |
Family
ID=64212330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810386382.4A Active CN108846259B (zh) | 2018-04-26 | 2018-04-26 | 一种基于聚类和随机森林算法的基因分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108846259B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109631997B (zh) * | 2018-12-20 | 2021-07-09 | 树根互联股份有限公司 | 工程设备健康检测方法、装置以及电子设备 |
CN109918713B (zh) * | 2019-01-23 | 2021-06-01 | 北京理工大学 | 一种产品概念设计的基因知识自动获取方法 |
CN109800815B (zh) * | 2019-01-24 | 2023-11-24 | 北华航天工业学院 | 基于随机森林模型的训练方法、小麦识别方法和训练系统 |
CN109902721B (zh) * | 2019-01-28 | 2024-07-02 | 平安科技(深圳)有限公司 | 异常点检测模型验证方法、装置、计算机设备及存储介质 |
CN109889527B (zh) * | 2019-02-28 | 2021-06-22 | 中山市云经纪网络科技有限公司 | 一种基于大数据的网络安全防护系统及其防护方法 |
CN110060740A (zh) * | 2019-04-16 | 2019-07-26 | 中国科学院深圳先进技术研究院 | 一种非冗余基因集聚类方法、系统及电子设备 |
CN111833963B (zh) * | 2019-05-07 | 2024-06-11 | 中国科学院北京基因组研究所(国家生物信息中心) | 一种cfDNA分类方法、装置和用途 |
CN110232154B (zh) * | 2019-05-30 | 2023-06-09 | 平安科技(深圳)有限公司 | 基于随机森林的产品推荐方法、装置及介质 |
CN110493142B (zh) * | 2019-07-05 | 2023-04-18 | 南京邮电大学 | 基于谱聚类和随机森林算法的移动应用程序行为识别方法 |
CN112418258B (zh) * | 2019-08-22 | 2024-08-16 | 北京京东振世信息技术有限公司 | 一种特征离散化方法和装置 |
CN111341387B (zh) * | 2020-02-19 | 2023-06-30 | 吉林大学 | 一种基于基本组分序向量的单向编码无监督分类的方法 |
CN111814986B (zh) * | 2020-07-07 | 2024-02-20 | 上海交通大学包头材料研究院 | 动态网络流控制器调度与服务类型分配方法 |
CN112725298B (zh) * | 2020-12-31 | 2022-12-06 | 浙江工业大学 | 一种机器学习基因挖掘方法及氨基转位用草铵膦脱氢酶突变体 |
CN112966023B (zh) * | 2021-03-12 | 2024-06-14 | 中海石油(中国)有限公司 | 一种井筒的完整性预判方法 |
CN113397567B (zh) * | 2021-05-19 | 2023-03-21 | 中国航天科工集团第二研究院 | 一种人类行为脑电信号分类方法及系统 |
CN113592058B (zh) * | 2021-07-05 | 2024-03-12 | 西安邮电大学 | 一种定量预测微博转发广度与深度的方法 |
CN114137163B (zh) * | 2021-11-29 | 2024-08-23 | 应急管理部天津消防研究所 | 一种用于快速辨别火场残留引燃液体种类的方法及装置 |
CN115083519B (zh) * | 2022-05-18 | 2024-06-14 | 北京大学第三医院(北京大学第三临床医学院) | 一种基于多来源基因数据库的基因相关特征融合预测方法 |
CN115547055B (zh) * | 2022-11-30 | 2023-03-28 | 广东省科技基础条件平台中心 | 一种交通信号灯协调控制方法、装置、存储介质及设备 |
CN116364178B (zh) * | 2023-04-18 | 2024-01-30 | 哈尔滨星云生物信息技术开发有限公司 | 一种体细胞序列数据分类方法及相关设备 |
CN116403717B (zh) * | 2023-06-08 | 2023-09-05 | 广州视景医疗软件有限公司 | 基于深度学习的近视预测方法、装置、终端设备和介质 |
CN116933187B (zh) * | 2023-09-15 | 2023-12-19 | 北京中企导航科技有限公司 | 一种财务报销单据数字化处理方法及系统 |
CN117574272B (zh) * | 2023-10-20 | 2024-07-16 | 青岛海洋地质研究所 | 一种海洋数据处理与分类方法 |
CN118585758A (zh) * | 2024-08-09 | 2024-09-03 | 山东浪潮智慧能源科技有限公司 | 一种基于气象因素的风电机组功率预测方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831431A (zh) * | 2012-02-05 | 2012-12-19 | 四川大学 | 一种基于层次聚类的检测器训练方法 |
CN105825081A (zh) * | 2016-04-20 | 2016-08-03 | 苏州大学 | 一种基因表达数据分类方法及分类系统 |
CN106991437A (zh) * | 2017-03-20 | 2017-07-28 | 浙江工商大学 | 基于随机森林预测污水水质数据的方法及系统 |
CN107872460A (zh) * | 2017-11-10 | 2018-04-03 | 重庆邮电大学 | 一种基于随机森林的无线传感网dos攻击轻量级检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8660360B1 (en) * | 2012-08-03 | 2014-02-25 | Raytheon Company | System and method for reduced incremental spectral clustering |
-
2018
- 2018-04-26 CN CN201810386382.4A patent/CN108846259B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831431A (zh) * | 2012-02-05 | 2012-12-19 | 四川大学 | 一种基于层次聚类的检测器训练方法 |
CN105825081A (zh) * | 2016-04-20 | 2016-08-03 | 苏州大学 | 一种基因表达数据分类方法及分类系统 |
CN106991437A (zh) * | 2017-03-20 | 2017-07-28 | 浙江工商大学 | 基于随机森林预测污水水质数据的方法及系统 |
CN107872460A (zh) * | 2017-11-10 | 2018-04-03 | 重庆邮电大学 | 一种基于随机森林的无线传感网dos攻击轻量级检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108846259A (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108846259B (zh) | 一种基于聚类和随机森林算法的基因分类方法及系统 | |
CN106371610B (zh) | 一种基于脑电信号的驾驶疲劳的检测方法 | |
McInnes et al. | Accelerated hierarchical density based clustering | |
Cabello et al. | Fast and accurate time series classification through supervised interval search | |
Lu et al. | A hybrid ensemble algorithm combining AdaBoost and genetic algorithm for cancer classification with gene expression data | |
Kianmehr et al. | Fuzzy clustering-based discretization for gene expression classification | |
CN109165672A (zh) | 一种基于渐进式学习的集成分类方法 | |
JP2018181290A (ja) | 改良した情報測定とgaに基づくフィルター式特徴選択アルゴリズム | |
CN113344019A (zh) | 一种决策值选取初始聚类中心改进的K-means算法 | |
CN109669990A (zh) | 一种基于dbscan对密度不规则数据进行异常挖掘的改进算法 | |
Mabu et al. | Mining gene expression data using data mining techniques: A critical review | |
CN116821715A (zh) | 一种基于半监督约束的人工蜂群优化聚类方法 | |
CN110909785B (zh) | 基于语义层级的多任务Triplet损失函数学习方法 | |
Wang et al. | A density weighted fuzzy outlier clustering approach for class imbalanced learning | |
CN115512772A (zh) | 一种基于标记基因和集成学习的高精度单细胞聚类方法及系统 | |
Yang et al. | Accurate and fast time series classification based on compressed random Shapelet Forest | |
SuriyaPrakash et al. | Obtain Better Accuracy Using Music Genre Classification Systemon GTZAN Dataset | |
CN111488520B (zh) | 一种农作物种植种类推荐信息处理装置、方法及存储介质 | |
CN113052268A (zh) | 区间集数据类型下基于不确定性度量的属性约简算法 | |
Kumar et al. | Review of gene subset selection using modified k-nearest neighbor clustering algorithm | |
Dash et al. | A multi-objective feature selection and classifier ensemble technique for microarray data analysis | |
Tang et al. | Feature selection algorithm based on k-means clustering | |
Wang et al. | Fuzzy C-means clustering algorithm for automatically determining the number of clusters | |
Devanta | Optimization of the K-Means Clustering Algorithm Using Davies Bouldin Index in Iris Data Classification | |
Polaka et al. | Decision tree classifiers in bioinformatics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |