weka实验报告Word格式文档下载.docx
《weka实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《weka实验报告Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
2.1格式转换方法
原始数据是老师直接给的arff文件,因此不用转换,可以直接导入。
但如果原始数据是excel文件保存的xlsx格式数据,则需要转换成Weka支持的arff文件格式或csv文件格式。
由于Weka对arff格式的支持更好,这里我们选择arff格式作为分类器原始数据的保存格式。
转换方法:
假如我们准备分析的文件为“breast-cancer.xlsx”,则在excel中打开“breast-cancer.xlsx”,选择菜单文件->
另存为,在弹出的对话框中,文件名输入“breast-cancer”,保存类型选择“CSV(逗号分隔)”,保存,我们便可得到“breast-cancer.csv”文件;
然后,打开Weka的Exporler,点击Openfile按钮,打开刚才得到的“filename”文件,点击“save”按钮,在弹出的对话框中,文件名输入“breast-cancer”,文件类型选择“Arffdatafiles(*.arff)”,这样得到的数据文件为“breast-cancer.arff”。
1
2.2如何建立数据训练集,校验集和测试集
通过统计数据信息,发现带有类标号的数据一共有286行,为了避免数据的过度拟合,必须把数据训练集和校验集分开,目前的拆分策略是训练集200行,校验集86行。
类标号
01条,而类标号为‘recurrence-events’的数据有85为‘no-recurrence-events’的数据有2
条,为了能在训练分类模型时有更全面的信息,所以决定把包含115条no-recurrence-events
类标号数据和85条recurrence-events类标号数据作为模型训练数据集,而剩下的86条类标号类no-recurrence-events的数据将全部用于校验数据集,这是因为在校验的时候,两种类标号的数据的作用区别不大,而在训练数据模型时,则更需要更全面的信息,特别是不同类标号的数据的合理比例对训练模型的质量有较大的影响。
另外,我们为了做预测测试,我们将分类标号为no-recurrence-events的86行数据集的分类标号去掉,作为预测数据集。
2.3预处理具体步骤
第一步:
把breast-cancer.arff文件复制一份,作为总的训练数据集。
文件名称为build_model.arff。
第二步:
从breast-cancer.arff文件数据里面选取分类标号为no-recurrence-events的86行数据作为校验数据集(validate_data.arff)。
第三步:
从把剩下的breast-cancer.arff文件改名为train_data.arff。
第四部:
由于老师给的全部都是有类标号的数据集,为了我们方便进行预测测试,我们将分类标号为no-recurrence-events的86行数据集的分类标号去掉,作为预测数据集。
2
3.实验过程及结果截图
3.1决策树分类
用“Explorer”打开刚才得到的“train-data.arff”,并切换到“Class”。
点“Choose”按钮选择“tree(weka.classifiers.trees.j48)”,这是WEKA中实现的决策树算法。
选择Cross-Validatioinfolds=10,然后点击“start”按钮:
训练数据集训练决策树得出的结果
使用不同配置训练参数,得到的实验数据:
配置不同的叶子节点的实例个数
实例数/叶节点45623
准确率62.5%62.5%62.5%63.5%63.5%
结果分析:
使用决策树时,每个叶子节点最优的实例个数为2或者3。
3
校验数据集校验决策树得出的结果
初步结果分析:
使用决策树进行分类,对于已知的86个类标号为no-recurrence-events的数据进行比较准确的分类,准确率达到86%;
该数据一般,并且有一定的缺陷,因为该结果是以训练集的低准确率作为前提的。
4
数据挖掘实验报告3.2K最近邻算法分类
点“Choose”按钮选择“laze->
ibk”,这是WEKA中实现的决策树算法。
训练数据集训练KNN得出的结果
K值12356789104
准确率66.5%64%65%67%66.5%66.5%66%66%67%68.5%
使用KNN算法分类时,K最优值为4。
5
校验数据集校验KNN得出的结果
对使用k=4训练出来的分类模型进行校验的结果,准确率达到88.3%,算是一个比较合
理的分类结果。
6
数据挖掘实验报告3.3朴素贝叶斯分类
点“Choose”按钮选择“bayes”,这是WEKA中实现的决策树算法。
训练数据集训练Naï
veBayes得出的结果
得出的准确率为66%
校验数据集校验Naï
评价结果中准确率仅仅达到79%,结果不是非常让人满意。
7
3.4三类分类方法的校验结果比较
决策树K最近邻朴素贝叶斯校验准确率86%88.3%79%
训练
混淆矩阵
校验
混淆矩阵
标准误差0.44640.37560.437比较结果分析:
根据上述数据,虽然决策树有比较好的准确率和相对较好的标准误差,但是在这背后,很有可能是以较大错误率作为代价,这点可以从训练混淆矩阵中得到印证;
而朴素贝叶斯分类算法的准确率相对较低,而标准误差也较高,综合评价可以得知,当前最好的分类算法是KNN算法,并且它是最优设置参数为k=4。
8
3.5训练最优模型
使用预处理中的buildmodel_data.arff数据文件训练分类模型,算法为k=4的KNN。
数据集训练KNN得出的结果
9
使用最终模型对测试集进行预测结果
10
数据挖掘实验报告4.三种算法在进行测试的性能比较
4.1实验结果
决策树的测试结果:
11
KNN测试结果:
12
朴素贝叶斯测试结果:
比较分析结论:
性能分析应该包括两个部分,一个部分是测试速度,另一个部分是测试的质量。
由于本次使用所使用的数据量不是很多,在测试速度的对比上相差太少,无法进行准确的分析。
而在测试质量上,可以从上述数据中得到,决策树和朴素贝叶斯依然是准确率较低;
而相比之下,KNN具有较高的准确率,从性能角度上讲,KNN算法略胜一筹。
5.实验总结
本次实验进行比较顺利,使我对如何在Weka中进行分类分析有了更深刻的了解,对Weka中进行分类分析的KNN算法,朴素贝叶斯算法和决策树算法都有了进一步的理解,同时也深刻体会到数据预处理对于数据挖掘的重要性。
13
14