Weka随机森林(RF)处理小数据集时不输出混淆矩阵及分类指标问题
WEKA二分类任务无混淆矩阵输出原因及解决方案
核心原因1:类别属性类型配置错误
你提供的输出中所有评估指标均为回归任务专属指标(相关系数、平均绝对误差、均方根误差等),无分类任务的混淆矩阵、准确率、召回率等指标,说明WEKA将你的二分类任务识别为了回归任务。
问题出在类别属性ERS的类型定义:
- 若你的ARFF文件中
ERS被定义为numeric数值型,WEKA默认执行回归任务,不会生成分类专属评估结果 - 正确的二分类属性定义应为标称型,格式参考
@attribute ERS {阴性,阳性},大括号内替换为你实际的两类标签值
核心原因2:数据集规模过小的叠加影响
若确认类别属性类型配置正确,27条样本的极小数据集确实会触发该异常:
- 10折交叉验证下每折测试集仅2~3条样本,若某折内样本全为同一类别、或分类器预测结果无类别区分度,WEKA会跳过存在统计异常(如分母为0)的指标输出
- 随机森林属于集成学习模型,对极小样本的拟合效果极差,很容易出现所有折预测结果无区分度的情况,直接导致分类指标不输出
修复步骤
- 优先修改ARFF文件中类别属性的类型为标称型,重新运行任务
- 若问题仍存在,将10折交叉验证调整为3折或留一法交叉验证,保证每折测试集有足够样本完成指标统计
- 极小数据集建议优先使用逻辑回归、朴素贝叶斯等简单分类器,降低过拟合概率
内容的提问来源于stack exchange,提问作者Carolina Coronado Alderete
相关产品推荐
相关产品推荐

