原创基于WEKA软件的分类模型性能比较报告附代码数据.docx
《原创基于WEKA软件的分类模型性能比较报告附代码数据.docx》由会员分享,可在线阅读,更多相关《原创基于WEKA软件的分类模型性能比较报告附代码数据.docx(11页珍藏版)》请在冰豆网上搜索。
![原创基于WEKA软件的分类模型性能比较报告附代码数据.docx](https://file1.bdocx.com/fileroot1/2023-1/14/682d7a11-c442-4747-a147-46adaacf20d2/682d7a11-c442-4747-a147-46adaacf20d21.gif)
原创基于WEKA软件的分类模型性能比较报告附代码数据
基于WEKA软件的分类模型性能比较
数据预处理:
在进行分类之前,为消除量纲的差别,首先对属性进行归一化处理。
选择需要归一化的特征变量。
BFTree:
选择分类中的BFTree决策树,测试选择采用十折交叉验证,10-foldscross-validation是指,将训练集分为10份,使用9份做训练,使用1份做测试,如此循环10次,最后整体计算结果。
分类评估选项中选择输出预测(outputpredictions)
设置对决策树进行纠错(debug)和启发性探索(heuristic),每个分支最小的样本值为2个,剪枝策略为后剪枝,即在决策树完美分割学习样例之后,对决策树进行修剪。
上图给出了实验用的分类器以及具体参数,实验名称,样本数量,特征数量以及所用特征,测试模式。
在右侧的Classifieroutput里面,我们看到了实验的结果。
上图给出了生成的决策树,以及叶子节点数、树的节点数、模型训练时间。
再往下是预测结果,可以看到每个样本的实际分类,预测分类,是否错分,预测概率这些信息。
最下面是验证结果,整体的accuracy是99.9385%,e类准确率是99.9%,召回率99.9%,p类准确率是99.9%,召回率99.9%。
Resultlist里右键点击分类的记录,选择Visualizeclassifyerrors,可以看到横轴代表实际的类别,纵轴表示预测的类别,大部分的点落在左下方和右上方,说明预测误差很小。
实例数/叶节点 2 3 4 5 6
实例数/叶节点
4
6
7
10
13
准确率(%)
99.7169%
99.7292
99.9385%
99.9754%
99.9261
因此,可以选择叶节点为10.
Naive-Bayes:
同样选择交叉验证,即把数据集分成10份,1份作为验证集,其余部分作为训练集合。
这样的方法保证了数据集的所有元素都被验证过。
如图所示,这里把数据集分为10份来进行训练。
设置参数
Class作为分类属性。
分类器的输出结果如图所示
结果中列出了分类器运行的信息,分类器训练的结果,分类器验证验证的结果、准确性计算等信息,可以看到整体的accuracy是95.8272%,e类准确率是93.2%,召回率99.2%,p类准确率是99.1%,召回率92.2%。
相对决策树算法的准确率稍低。
从判断误差图来看分布在左上角和右下角的点也比较多,因此,误判的样本比较多。
Knn
设置最近邻为3,并对距离加权处理(distaneWeighting)
从上图可以看到整体的accuracy是100%,e类准确率是100%,召回率100%,p类准确率是100%,召回率100%。
准确率要高于贝叶斯和决策树算法。
B)
决策树
贝叶斯
KNN近邻
准确率
99.9754%
95.8272%
100%
混淆矩阵
标准误差
0.001
0.04
0
根据上述数据,虽然KNN有比较好的准确率和相对较好的标准误差,但是在这背后,很有可能是以较大错误率作为代价,这点可以从训练混淆矩阵中得到印证;而朴素贝叶斯分类算法的准确率相对较低,而标准误差也较高,综合评价可以得知,当前最好的分类算法是决策树算法,并且它是最优叶子节点设置参数为10。