Breast Cancer数据集的分类算法

Breast Cancer数据集的分类算法

摘要

   文通过使用Weka软件对乳腺癌(BreastCancer)的数据集进行研究,首先针对复杂的数据集预计出非线性算法将会适合这些数据集。其次,报告了我们所选择的五个我们曾尝试过的算法以及将每种算法分类器进行前端属性选择或者参数设置的修改,对比各分类的强项和弱项,给出我们获得最好结果时的模型参数,同时开发出一个在众多分类器中偏好于该数据集的分类器。然后报告了我们设计的分类器对于新鲜实例的处理效果(10-fold CV和LOOCV)的预测。最后给出自己最终的学习分类算法,以及性能评价各指标,并对各个指标值给出合适的解释说明。

 

关键词:BreastCancer  Weka  属性选择  参数设置  分类算法  指标

   In this paper, the data set of BreastCancer is studied by using Weka software. First, it is expected that the nonlinear algorithm will be suitable for these data sets for complex data sets. Secondly, we report the five selected algorithms we have tried and the modification of the front attribute selection or parameter setting of each algorithm classifier, compare the strengths and weaknesses of each classification, give the model parameters when we obtain the best results, and develop a preference for the number of classifiers in the number of classifiers. According to the classifier of the set. Then we report the predictions of the classifier designed for fresh instances (10-fold CV and LOOCV). Finally, give your final learning classification algorithm and performance evaluation indicators, and give appropriate explanation for each index value. 

 

Keywords: BreastCancer Weka attribute selection parameter setting classification algorithm index 

   

 

 

 

 

一.正文

数据描述: BreastCancer这个数据集共包含24481个基因和97个病例样本的信息,其中46个样本在初次诊断治疗后5年内癌症发生转移(数据集中被标记为“relapse”),而剩余的51个病例(标记为“non-relapse”的样本)初次治疗后至少在5年时间间隔内仍然保持健康的状态。

Breast Cancer (Laura, 2002): It contains 24481 genes. The training data contains 78 patient samples, 34 of which are from patients who had developed distance metastases within 5 years (labelled as "relapse"), the rest 44 samples are from patients who remained healthy from the disease after their initial diagnosis for interval of at least 5 years (labelled as "non-relapse"). Correspondingly, there are 12 relapse and 7 non-relapse samples in the testing data set. We replaced "NaN" symbol in original ratio data with 100.0. Raw Data: http://www.rii.com/publications/2002/vantveer.htm

针对乳腺癌(BreastCancer)数据集97个实例,24481个属性的这种复杂、属性又多的数据,同时医疗数据的特殊性,自然就想到了复杂、较大的方差、高精确度的非线性算法。

由于BreastCancer这个数据集是属于数值型数据,使用了J48、SMONavieBayes、OneR算法符合数值型数据的分类需求,因此我预计J48、SMONavieBayes、OneR算法适合BreastCancer这个数据集。

1.1算法描述

SMO的优点:从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到测试样本的“转导推理”,大大简化了通常的分类和回归等问题。缺点:SMO算法对大规模训练样本难以实施。由于SMO是借助二次规划来求解支持向量,而求解二次规划将涉及m*n阶矩阵的计算(m为样本的个数,n为属性个数),当m*n很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间。

NavieBayes优点:是算法逻辑简单易于实现,分类过程中时空开销小,算法稳定,对于不同的数据特点其分类性能差别不大,健壮性比较好。

贝叶斯分类算法是统计学分类方法,该类方法利用概率统计知识进行分类。朴素贝叶斯分类算法中,每个数据样本用一个n维特征向量来描述n个属性的值,即:X={X,1X,…,X},假定有m个类,分别用C, C,…,C表示。给定一个未知的数据样本X(即2n12m没有类标号),若朴素贝叶斯分类法将未知的样本X分配给类C,则一定存在iP(C|X)>P(Cj|X) ,1?j?m,j?i 。 i
    根据贝叶斯定理,由于P(X)对于所有类为常数,最大化后验概率P(C|X) 可转化为j最大化先验概率P(X|C)P(C)。如果训练数据集有许多属性和元组,计算P(X|C)的开销iii可能非常大,为此,通常假设各属性的取值互相独立,这样先验概率P(X|C),1iP(X|C),…,P(X|C)可以从训练数据集求得。 
    根据此方法,对一个未知类别的样本X,可先分别计算出X属于每一个类别C的概i率P(X|C)P(C),然后选择其中概率最大的类别作为其类别。

但现实中独立性假设一般不能成立,因而影响其分类效果。这是朴素贝叶斯算法的主要缺陷之一。NavieBayes优点:是算法逻辑简单易于实现,分类过程中时空开销小,算法稳定,对于不同的数据特点其分类性能差别不大,健壮性比较好。

IBk算法是通过它周围的k个邻居来判断测试样本的类别。在样本中有比较多的噪音点是(noisy points)时,通过一个邻居的效果很显然会差一些,因为出现误差的情况会比较多。这种情况下,IBk 就成了一个较优的选项了。这个时候有出现了一个问题,k这个值如何确定,一般来说这个k是通过经验来判断的。

J48算法是一种启发式算法,核心是在决策树各个节点上应用信息增益等准则来选取特征,进而递归地构造决策树。
  优点:
1. 计算复杂度不高,易于理解和解释,可以理解决策树所表达的意义;
2. 数据预处理阶段比较简单,且可以处理缺失数据;
3. 能够同时处理数据型和分类型属性,且可对有许多属性的数据集构造决策树;
4. 是一个白盒模型,给定一个观察模型,则根据所产生的决策树很容易推断出相应的逻辑表达式;
5. 在相对短的时间内能够对大数据集合做出可行且效果良好的分类结果。
6. 可以对有许多属性的数据集构造决策树。

缺点:
1. 对于那些各类别样本数目不一致的数据,信息增益的结果偏向于那些具有更多数值的属性;
2. 对噪声数据较为敏感;
3. 容易出现过拟合问题;
4. 忽略了数据集中属性之间的相关性;
5.处理缺失数据时的困难

J48的优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。

OneR算法是机器学习算法的一种,对每一个特征都建立单层的树,计算训练集上能达到的错误率,选择错误率最低的属性产生的单层决策树作为分类策。这种算法简单,耗时很短,而且往往能达到最好分类效果相差不多的结果。在本文研究的乳腺癌数据中,由于数据属性的特征,引起较好的分类。在实际问题的解决中,某单一属性并不都能产生很好的分类效果。由于存在属性与结果并不能构成确切关系的问题,应用时应该与专门领域的知识相结合使用。某种程度上,这种方法带有一定的片面性。

1.2 参数介绍

Feature Selection:特征选择

Accuracy%):准确度

Kaapa:卡帕

ROC接受者操作特征

Mean value:平均值

Variance:方差

ChiSquare:卡方检验

ReliefF:特征权重

Filtered:过滤

在以下表格在进行修改参数设置的操作中,首先使用默认值运行,其次再对该分类算法的参数逐个进行修改,每个参数以单位值增加或者减少,变化到运行后的处理结果产生变动为止,或是截止到满意为止,前提是内存足够,能保证其正常运行。最后确定该参数的变化情况,在该算法下控制单一变量即可。

 

1.3 SMO算法

 

表1   基于SMO算法属性选择的比较分析(在乳腺癌(BreastCancer)数据集)

 

Feature Selection

 

Accuracy%

  

Kaapa

 

ROC

 

Mean value

 

Variance

 

 

Mean value

 

Variance

 

 

Mean value

 

Variance

 

 

No

69.17

48.44

0.3820

0.0202

0.6920

0.0050

ChiSquare

 

50

67.50

20.14

0.3472

0.0083

0.6747

0.0021

100

68.75

39.93

0.3742

0.0162

0.6881

0.0040

ReliefF

 

50

64.58

35.59

0.2902

0.0146

0.6462

0.0038

100

65.83

7.12

0.3157

0.0028

0.6586

0.0007

Filtered

 

50

64.58

26.04

0.2728

0.0107

0.6468

0.0028

100

66.04

36.50

0.3213

0.0153

0.6623

0.0040

由上表知:在搜索策略search全设为Ranker(numToSelect设为50)以及其他参数为默认值的情况下,以下评价策略(attribute evaluator):ChiSquare、ReliefFAttributeEval、FilteredAttributeEval(默认InfoGainAttributeEval )都相对于算法未进行属性选择的分析而言,处理结果并没有更好,主要体现在识别率Accucanshracy(Correctly Classified Instances )、Kappa statistic、ROC Area的值都较

而在搜索策略Ranker下,numToSelect从50为100时,评价策略ChiSquare、FilteredAttributeEvalReliefFAttributeEval都相对自身而言有所。虽然看似此时数据表现得最好的是在算法未进行属性选择的情况下,但是其方差的值也相对较大,说明在分类过程中,得到处理结果相对波动较大,不具有说服力。所以我认为此探索策略下方差最小、结果适中的ReliefFAttributeEval对应的模型参数带来的最好的处理效果SMO 分类器。

 其中Accuracy(Correctly Classified Instances )、Kappa statistic、ROC Area的值分别为65.830.31570.6586                         

 

 

 

 

 

 

1.4 NaiveBayes算法

    

表2    基于NaiveBayes算法属性选择的比较分析(在乳腺癌(BreastCancer)数据集)

 

Feature Selection

 

Accuracy%

  

Kaapa

 

ROC

 

Mean value

 

Variance

 

Mean value

 

Variance

 

Mean value

 

Variance

 

 

no

54.58

11.12

0.1006

0.0170

0.5269

0.0007

ChiSquare

 

50

61.04

18.27

0.2054

0.0104

0.6639

0.0053

100

63.75

64.41

0.2548

0.0345

0.6875

0.0082

ReliefF

 

50

64.79

13.41

0.2927

0.0056

0.6918

0.0018

100

64.38

20.36

0.2845

0.0082

0.6851

0.0022

Filtered

 

50

62.50

46.01

0.2335

0.0245

0.6758

0.0048

100

62.92

55.38

0.2387

0.0309

0.6633

0.0076

 

由表2知:在搜索策略search全设为Ranker(numToSelect(自主选择)设为50)以及其他参数为默认值的情况下,以下评价策略(attribute evaluator属性求值器,属性鉴别器):ChiSquare(卡方检验)ReliefFAttributeEval、FilteredAttributeEval(默认InfoGainAttributeEval )都相对于算法未进行属性选择的分析而言处理结果相对乐观,主要体现在识别率Accucanshracy(Correctly Classified Instances )、Kappa statistic、ROC Area的值都较高些

而在搜索策略Ranker下,numToSelect从50为100时,评价策略ChiSquare、FilteredAttributeEval都相对自身而言有所。只有ReliefFAttributeEval略微退步。综合考虑我认为此探索策略下方差较小、结果最好的ReliefFAttributeEval对应的模型参数带来的最好的处理效果NaiveBayes 算法

其中Accuracy(Correctly Classified Instances )、Kappa statistic、ROC Area的值分别为64.790.29270.6918

就以上两种算法来看,SMO算法比较适合BreastCancer数据集;但由于以上两种算法未进行参数修改,原因在于二者多为名目型参数,数值型参数的修改与参数默认值的对比见于以下三种算法。

 

 

 

 

1.5 IBK算法

   

表3  基于IBK算法属性选择的比较分析(在乳腺癌(BreastCancer)数据集)

 

Feature Selection

 

参数修改

Accuracy%

  

Kaapa

 

ROC

 

Mean value

 

Variance

 

Mean value

 

Variance

 

Mean value

 

Variance

 

 

No

No

57.71

12.20

0.1455

0.0035

0.5724

0.0008

No

(KNN=2)

54.79

32.16

0.1054

0.0127

0.5778

0.0030

ChiSquare

 

50

No

64.17

34.55

0.2824

0.0141

0.6423

0.0037

(KNN=2)

62.50

19.10

0.2563

0.0076

0.6509

0.0025

100

No

65.21

19.14

0.3065

0.0063

0.6586

0.0012

(KNN=2)

63.54

29.73

0.2755

0.0114

0.6719

0.0022

ReliefF

 

50

No

62.92

37.15

0.2587

0.0148

0.6306

0.0038

(KNN=2)

63.54

23.65

0.2779

0.0090

0.6587

0.0021

100

No

62.92

18.92

0.2570

0.0076

0.6291

0.0019

(KNN=2)

63.12

21.75

0.2663

0.0083

0.6448

0.0017

Filtered

 

50

No

62.92

22.40

0.2550

0.0093

0.6281

0.0023

(KNN=2)

65.00

31.94

0.3028

0.0134

0.6850

0.0020

100

No

66.25

26.74

0.3229

0.0102

0.6619

0.0026

(KNN=2)

66.04

41.71

0.3242

0.0170

0.6744

0.0039

     

由表3知:在搜索策略search全设为Ranker(numToSelect设为50)以及其他参数为默认值的情况下,以下评价策略(attribute evaluator):ChiSquare、ReliefFAttributeEval、FilteredAttributeEval(默认InfoGainAttributeEval )都相对于算法未进行属性选择的分析而言处理结果相对乐观,主要体现在识别率Accucanshracy(Correctly Classified Instances )、Kappa statistic、ROC Area的值都较高些

而在搜索策略Ranker下,numToSelect从50为100时,评价策略ChiSquare、FilteredAttributeEvalReliefFAttributeEval都相对自身而言有所

发现的是在修改了参数KNN设为2之后,算法未进行属性选择和评价策略ChiSquare反而不如之前评价策略FilteredAttributeEvalReliefFAttributeEval却有略微的进步。

综合可知IBK算法在评价策略FilteredAttributeEval于搜索策略search全设为Ranker(numToSelect设为100)以及其他参数为默认值的情况下有最好的处理结果。

其中Accuracy(Correctly Classified Instances )、Kappa statistic、ROC Area的值分别为66.25、0.32290.6619

 

 

1.6 J48算法

4    基于J48算法属性选择的比较分析(在乳腺癌(BreastCancer)数据集)

Feature Selection

 

参数修改

Accuracy%

  

Kaapa

 

ROC

 

Mean value

 

Variance

 

Mean value

 

Variance

 

Mean value

 

Variance

 

 

no

No

57.50

40.10

0.1553

0.0161

0.5745

0.0051

no

minNumObj=5

60.00

58.86

0.2525

0.0418

0.5634

0.0189

ChiSquare

 

50

No

57.50

15.80

0.1514

0.0065

0.5793

0.0031

minNumObj=5

57.29

8.03

0.1469

0.0034

0.5990

0.0024

100

No

59.38

30.60

0.1920

0.0124

0.5995

0.0030

minNumObj=5

57.29

32.34

0.1504

0.0132

0.7027

0.0986

ReliefF

 

50

No

59.58

27.95

0.1926

0.0114

0.5971

0.0039

minNumObj=5

60.00

31.94

0.2002

0.0135

0.6120

0.0031

100

No

56.88

13.06

0.1393

0.0058

0.5601

0.0014

minNumObj=5

58.38

23.65

0.1756

0.0101

0.5986

0.0025

Filtered

 

50

No

58.33

61.63

0.1692

0.0248

0.5823

0.0081

minNumObj=5

59.79

31.29

0.1990

0.0123

0.6094

0.0034

100

No

58.96

69.49

0.1849

0.0277

0.5955

0.0094

minNumObj=5

60.62

21.22

0.2183

0.0079

0.6255

0.0024

4知:在搜索策略search全设为Ranker(numToSelect设为50)以及其他参数为默认值的情况下,以下评价策略(attribute evaluator):ChiSquare、ReliefFAttributeEval、FilteredAttributeEval(默认InfoGainAttributeEval )都相对于算法未进行属性选择的分析而言处理结果相对乐观,主要体现在识别率Accucanshracy(Correctly Classified Instances )、Kappa statistic、ROC Area的值都较高或者方差较小。

而在搜索策略Ranker下,numToSelect从50为100时,评价策略ChiSquare、FilteredAttributeEval都相对自身而言有所。只有ReliefFAttributeEval有些退步。

发现的是在修改了参数minNumObj设为5之后,评价策略ChiSquare于搜索策略search全设为Ranker(numToSelect设为100)以及其他参数为默认值的情况下反而不如之前而其它都有一些进步。

所以我认为此探索策略下方差较小、结果最好的在评价策略FilteredAttributeEval于搜索策略search全设为Ranker(numToSelect设为100)以及参数minNumObj设为5所对应的模型参数带来的是J48算法最好的处理效果。

其中Accuracy(Correctly Classified Instances )、Kappa statistic、ROC Area的值分别为60.620.21830.625。

 

1.7OneR算法

  

表5   基于OneR算法属性选择的比较分析(在乳腺癌(BreastCancer)数据集)

 

Feature Selection

 

参数修改

Accuracy%

  

Kaapa

 

ROC

 

Mean value

 

Variance

 

Mean value

 

Variance

 

Mean value

 

Variance

 

 

No

No

52.71

118.97

0.054

0.0486

0.5280

0.0123

No

(minbucketsize=4)

53.54

62.54

0.0755

0.0255

0.5386

0.0065

ChiSquare

 

50

No

56.67

47.57

0.1329

0.0191

0.5673

0.0048

(minbucketsize=4)

55.09

22.61

0.1090

0.0096

0.5547

0.0024

100

No

50.89

47.57

0.1329

0.0191

0.5673

0.0048

(minbucketsize=4)

55.63

34.77

0.1059

0.0157

0.5533

0.0039

ReliefF

 

50

No

61.46

23.65

0.2303

0.0089

0.6155

0.0022

(minbucketsize=4)

52.29

36.85

0.0384

0.0156

0.5193

0.0039

100

No

47.92

33.38

-0.0417

0.0127

0.4790

0.0032

(minbucketsize=4)

52.29

36.85

0.0384

0.0156

0.5193

0.0039

Filtered

 

50

No

55.00

94.79

0.0996

0.0380

0.5506

0.0096

(minbucketsize=4)

54.17

32.99

0.0833

0.0135

0.5420

0.0034

100

No

56.67

47.57

0.1339

0.0195

0.5680

0.0049

(minbucketsize=4)

56.88

29.56

0.1342

0.0126

0.5676

0.0032

由表5知:在搜索策略search全设为Ranker(numToSelect设为50)以及其他参数为默认值的情况下,以下评价策略(attribute evaluator):ChiSquare、ReliefFAttributeEvalFilteredAttributeEval(默认InfoGainAttributeEval )都相对于算法未进行属性选择的分析而言处理结果相对乐观,主要体现在识别率Accucanshracy(Correctly Classified Instances )、Kappa statistic、ROC Area的值都较

而在搜索策略Ranker下,numToSelect从50为100时,评价策略ChiSquare、ReliefFAttributeEval都相对自身而言有所退。只有FilteredAttributeEval操作下才有些进步。

发现的是在修改了参数minbucketsize设为4之后,算法未进行属性选择评价策略ChiSquareReliefFAttributeEval、FilteredAttributeEval于搜索策略search全设为Ranker(numToSelect设为100)以及其他参数为默认值的情况下都有一些进步而numToSelect设为100设为50则是退步

综合考虑我认为此探索策略下方差相对较小、结果最好的在评价策略ReliefFAttributeEval于搜索策略search全设为Ranker(numToSelect设为50)其它为默认值对应的模型参数带来的是OneR算法最好的处理效果。

其中Accuracy(Correctly Classified Instances )、Kappa statistic、ROC Area的值分别为61.460.23030.6155

 

二.结论

模型参数是IBK算法在评价策略FilteredAttributeEval于搜索策略search全设为Ranker(numToSelect设为100)以及其他参数为默认值。

通过对以上5个分类算法处理效果的对比,最令人满意Accuracy(Correctly Classified Instances )、Kappa statistic、ROC Area的值分别为66.25、0.32290.6619

综上所述,最终的学习分类算法是评价策略FilteredAttributeEval在搜索策略search全设为Ranker(numToSelect设为100)以及其他参数为默认值的情况下的IBK分类算法。分类的正确率率Correctly Classified Instances为66.25%,在本文所尝试的算法中居于榜首名列前茅,Kappa statistic在BreastCancer数据集中相对较好,说明算法的分类结果与随机分类的差异相对较小。ROC Area (Receiver Operating Characteristic) 曲线为0.6155同样名列前茅,说明正确肯定的匹配数目和正确拒绝的非匹配数目较大。由此,最后的算法处理的结果才会相对可信。

通过学习一个学期的数据挖掘课对数据挖掘有了一定的了解,理解了一些数据挖掘中用到的重要算法。在这个数据膨胀的大数据时代我们需要筛选,查询数据,处理数据。我们看到的听到的都是数据,在这互联网时代数据更多,信息很多。我们为了更正确更有效的利用和处理数据必须要利用数据挖掘技术,因为有了这技术我们以后的数字化生活变得更方便,不会因为数据多,信息多而感到反感。所以我真正的体会到了数据挖掘的优越性。同时我学习一些算法过后也感觉到了其复杂性,因为数据挖掘算法众多,掌握起来比较困难。

三.参考文献

[1]Ian H.Witten Eibe Frank  Mark A.Hall著 李川 张永辉等译.数据挖掘实用机器学习工具与技术.机械工业出版社.

[2]陈良龙 数据挖掘中的特征选择算法综述及基于WEKA的性能比较 湖南大学

[3]Kira, K. and Rendell, L.A., The feature selection problem: Traditional methods and a new algorithm. In: Proceedings of Ninth National Conference on Artificial Intelligence, 129–134, 1992.

[4]Piscataway.Yorktown Heights.Brunswick.Breast cancer prognosis by combinatorial analysis of gene expression data[R].PMC.2006.07.19.

[5]刘辉 数据挖掘中简约技术与属性选择的研究 吉林大学

猜你喜欢

转载自blog.csdn.net/xy123456789123/article/details/80859989