1、原创基于WEKA软件的分类模型性能比较报告附代码数据 基于WEKA软件的分类模型性能比较数据预处理:在进行分类之前,为消除量纲的差别,首先对属性进行归一化处理。选择需要归一化的特征变量。BFTree:选择分类中的BFTree决策树,测试选择采用十折交叉验证,10-folds cross-validation是指,将训练集分为10份,使用9份做训练,使用1份做测试,如此循环10次,最后整体计算结果。分类评估选项中选择输出预测(output predictions)设置对决策树进行纠错(debug)和启发性探索(heuristic),每个分支最小的样本值为2个,剪枝策略为后剪枝,即在决策树完美分割
2、学习样例之后,对决策树进行修剪。上图给出了实验用的分类器以及具体参数,实验名称,样本数量,特征数量以及所用特征,测试模式。在右侧的Classifier output里面,我们看到了实验的结果。上图给出了生成的决策树,以及叶子节点数、树的节点数、模型训练时间。再往下是预测结果,可以看到每个样本的实际分类,预测分类,是否错分,预测概率这些信息。最下面是验证结果,整体的accuracy是99.9385%,e类准确率是99.9%,召回率99.9%,p类准确率是99.9%,召回率99.9%。Result list里右键点击分类的记录,选择Visualize classify errors,可以看到横轴代
3、表实际的类别,纵轴表示预测的类别,大部分的点落在左下方和右上方,说明预测误差很小。实例数/叶节点23456实例数/叶节点4671013准确率(%)99.7169 %99.729299.9385 %99.9754 %99.9261因此,可以选择叶节点为10.Naive-Bayes:同样选择交叉验证,即把数据集分成10份,1份作为验证集,其余部分作为训练集合。这样的方法保证了数据集的所有元素都被验证过。如图所示,这里把数据集分为10份来进行训练。设置参数Class作为分类属性。 分类器的输出结果如图所示结果中列出了分类器运行的信息,分类器训练的结果,分类器验证验证的结果、准确性计算等信息 ,可以看
4、到整体的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.0010.040根据上述数据,虽然KNN有比较好的准确率和相对较好的标准误差,但是在这背后,很有可能是以较大错误率作为代价,这点可以从训练混淆矩阵中得到印证;而朴素贝叶斯分类算法的准确率相对较低,而标准误差也较高,综合评价可以得知,当前最好的分类算法是决策树算法,并且它是最优叶子节点设置参数为10。