当前位置:文档之家› 数据挖掘技术期末报告

数据挖掘技术期末报告

.数据挖掘技术期末报告评分:优□|良□|中□|及格□|不及格□一、实验目的基于从UCI公开数据库中下载的数据,使用数据挖掘中的分类算法,用Weka平台的基本功能对数据集进行分类,对算法结果进行性能比较,画出性能比较图,另外针对不同数量的训练集进行对比实验,并画出性能比较图训练并测试。

二、实验环境实验采用Weka平台,数据使用来自从UCI公开数据库中下载,主要使用其中的Breast Cancer Wisc-onsin (Original) Data Set数据。

Weka是怀卡托智能分析系统的缩写,该系统由新西兰怀卡托大学开发。

Weka使用Java写成的,并且限制在GNU通用公共证书的条件下发布。

它可以运行于几乎所有操作平台,是一款免费的,非商业化的机器学习以及数据挖掘软件。

Weka提供了一个统一界面,可结合预处理以及后处理方法,将许多不同的学习算法应用于任何所给的数据集,并评估由不同的学习方案所得出的结果。

三、实验步骤3.1数据预处理本实验是针对威斯康辛州(原始)的乳腺癌数据集进行分类,该表含有Sample code number(样本代码),Clump Thickness(丛厚度),Uniformity of Cell Size(均匀的细胞大小),Uniformity of Cell Shape (均匀的细胞形状),MarginalAdhesion(边际粘连),Single Epithelial Cell Size(单一的上皮细胞大小),Bare Nuclei(裸核),Bland Chromatin(平淡的染色质),Normal Nucleoli(正常的核仁),Mitoses(有丝分裂),Class(分类),其中第二项到第十项取值均为1-10,分类中2代表良性,4代表恶性。

通过实验,希望能找出患乳腺癌客户各指标的分布情况。

该数据的数据属性如下:1. Sample code number(numeric),样本代码;2. Clump Thickness(numeric),丛厚度;3.Uniformity of Cell Size(numeric)均匀的细胞大小;4. Uniformity of Cell Shape(numeric),均匀的细胞形状;5.Marginal Adhesion(numeric),边际粘连;6.Single Epithelial Cell Size(numeric),单一的上皮细胞大小;7.Bare Nuclei(numeric),裸核;8.Bland Chromatin(numeric),平淡的染色质;9. Normal Nucleoli(numeric),正常的核仁;10.Mitoses(numeric),有丝分裂;11.Class(enum),分类。

3.2数据分析由UCI公开数据库得到一组由逗号隔开的数据,复制粘贴至excel表中,选择数据——分列——下一步——逗号——完成,该数据是有关乳腺癌数据集,有11个属性,分别为Sample code number(样本代码),Clump Thickness(丛厚度),Uniformity of Cell Size(均匀的细胞大小),Uniformity of Cell Shape (均匀的细胞形状),Marginal Adhesion(边际粘连),Single Epithelial Cell Size(单一的上皮细胞大小),Bare Nuclei(裸核),Bland Chromatin(平淡的染色质),Normal Nucleoli(正常的核仁),Mitoses(有丝分裂),Class (分类),因为复制粘贴过来的数据没有属性,所以手工添加一行属性名。

Weka分类数据需把excel保存为一个csv 文件。

图1中显示的是使用“Exploer”打开“乳腺癌数据集.csv.arff”的情况.如图1所示:(图1)3.2.1 数据预处理很明显发现,所用的数据都是(numeric)数值型的,需要将数值型离散化,将“Clump Thickness ”,“Uniformity of Cell Size ”,“Uniformity of Cell Shape”,“Marginal Adhesion ”,“Marginal Adhesion ”,“Bare Nuclei ”,“Bland Chromatin ”,“Normal Nucleoli ”,“Mitoses”,“Class”离散化。

我们需要借助Weka中名为“Discretize”的Filter来完成。

在区域2中点“Choose”,出现一棵“Filter树”,逐级找到“weka.filters.unsupervised.attribute.Discretize”点击,即可。

现在“Choose”旁边的文本框应该显示“Discretize -B 10 -M -0.1 -R first-last”。

如图箭头所示,点击这个文本框会弹出新窗口以修改离散化的参数。

我们需将第1,2,3,4,5,6,7,8,9,10项离散化,其中第一项为id,可移除。

把attributeIndices右边改成“1,2,3,4,5,6,7,8,9,10”。

我们把这两个属性都分成10段,于是把“bins”改成“10”。

其它不变。

点“OK”回到“Explorer”,可以看到“Clump Thickness ”,“Uniformity of Cell Size ”,“Uniformity of Cell Shape”,“Marginal Adhesion ”,“Marginal Adhesion ”,“Bare Nuclei ”,“Bland Chromatin ”,“Normal Nucleoli ”,“Mitoses”,已经被离散化成分类型的属性。

经移除后剩10项属性,其中一项如图2所示,10项属性可视化如图3所示:(图2)(图3)3.3.1决策树分类用“Explorer”打开刚才得到的“乳腺癌数据集.csv.arff”,并切换到“Class”。

点“Choose”按钮选择“tree(weka.classifiers.trees.j48)”,这是Weka中实现的决策树算法。

得到结果如图4和图5所示:(图4)(图5)这个是针对第一项Clump Thickness丛厚度和第九项Mitoses有丝分裂项运用C4.5决策算法得到误差分析的结果,分析可知总共有699个数据进行分类,Clump Thickness (丛厚度)其中102个为正确分类,正确分类率为26.03726%,517个为错误分类,错误分类为73.9268%。

而第九项Mitoses 有丝分裂项也是分析699个数据,其中正确分类有579个数据,正确率为82.8326%,错误分类的有120个,错误分类的有17.1674%。

根据混淆矩阵,被错误分类实例很多如图(图6)3.3.2贝叶斯分类为了与上面决策树作比较,贝叶斯也选择第一项第一项Clump Thickness丛厚度和第九项Mitoses有丝分裂项,得到结果如下图7,8所示:(图7)(图8)这个是针对第一项Clump Thickness丛厚度和第九项Mitoses有丝分裂项运用贝叶斯算法得到误差分析的结果,分析可知总共有699个数据进行分类,Clump Thickness(丛厚度)其中198个为正确分类,正确分类率为28.3262%,501个为错误分类,错误分类为71.6738%。

而第九项Mitoses有丝分裂项其中正确分类有467个数据,正确率为66.8097%,错误分类的有232个,错误分类的有33.1903%。

根据混淆矩阵,被错误分类实例很多,相对来说,Clump Thickness丛厚度用两种方法混淆程度差不多,错综复杂,而Mitoses有丝分裂项用贝叶斯分类明显混淆矩阵要比用决策树方法混淆率要低,中间第六项到就第九项明显混响不是很多,如图9所示。

基于以上两种分析,建议用贝叶斯分类方法分类,降低混淆率,提高正确率。

(图9)3.3.3K最近邻算法分类在刚才进行决策树分类和贝叶斯分类的的的那个页面,点“Choose”按钮选择“laze->ibk”,选择Cross-Validatioin folds=10,然后点击“start”按钮:同样选择图中箭头指向选择属性,然后点击“start”按钮:为了与上面决策树和贝叶斯作比较,K最近邻算法分类也选择第一项Clump Thickness丛厚度和第九项Mitoses有丝分裂项,得到结果如下图10,11所示:(图10)(图11)这个是针对第一项Clump Thickness丛厚度和第九项Mitoses有丝分裂项运用K最近邻算法得到误差分析的结果,分析可知总共有699个数据进行分类,Clump Thickness(丛厚度)其中191个为正确分类,正确分类率为27.3247%,508个为错误分类,错误分类为72.6753%。

而第九项Mitoses有丝分裂项其中正确分类有546个数据,正确率为78.1116%,错误分类的有153个,错误分类的有21.8884%。

根据混淆矩阵,被错误分类实例很多,相对来说,Clump Thickness丛厚度与前两个算法混淆程度差不多,错综复杂,甚至比前两个更要复杂,而Mitoses有丝分裂项用K最近邻算法明显混淆矩阵要比用决策树方法和贝叶斯方法混淆率要低,中间第四项到就最后明显混响不是很多,如图12所示:(图12)3.4三种分类方法结果比较如表所示:决策树贝叶斯K最近邻算法Clump Thickness正确率26.03726%28.3262%27.3247%,ClumpThickness标准误差0.3109 0.3119 0.3227Mitoses正确率82.8326% 66.8097% 78.1116%Mitoses标准误差0.1755 0.2104 0.1989四、三种算法在进行测试的性能比较要进行性能比较,则需比较这10项属性的预测,同上文一样,这里只比较第一项Clump Thickness丛厚度和第九项Mitoses有丝分裂项,点“more options...”按钮,选勾选“out prediction”,其他不勾选,然后点击“OK”按钮如图13所示:(图13)得到性能测试结果如下,图14分别为第一项Clump Thickness丛厚度用决策树方法、贝叶斯、K最近邻算法预测的结果,图15分别为第九项Mitoses有丝分裂项用决策树方法、贝叶斯、K最近邻算法预测的结果。

结果如下:(图14)分析第一项Clump Thickness丛厚度。

性能分析应该包括两个部分,一个部分是测试速度,另一个部分是测试的质量。

相关主题