如何基于混淆矩阵计算直接测试估计误差并提取对应数值
R语言模型误差评估与混淆矩阵操作解答
问题1:估计错误率是否可以通过1减去混淆矩阵输出的平均准确率得到?
可以。混淆矩阵输出的准确率是预测正确样本数占总样本数的比例,错误率是预测错误样本的占比,二者之和为1,直接用1减去准确率即可得到整体估计错误率,该逻辑对二分类、多分类场景均适用。
问题2:有没有方法可以直接提取该估计误差数值?
caret包的confusionMatrix()返回结果为列表结构,可直接提取对应字段计算,代码如下:
# 保存混淆矩阵结果对象 cm <- confusionMatrix(model) # 直接计算得到估计错误率 error_rate <- 1 - cm$overall[["Accuracy"]]
得到的error_rate就是你需要的估计误差数值。
问题3:如何获取指定格式的整数型混淆矩阵数值结果?
混淆矩阵结果中的table字段本身就是整数格式的统计结果,直接提取即可,如需自定义类别命名可修改维度名,代码如下:
# 提取原始混淆矩阵表 cm_table <- cm$table # 可选操作:将类别重命名为0、1(二分类场景),如果是iris这类3分类数据集可改为c("0", "1", "2") dimnames(cm_table) <- list( Prediction = c("0", "1"), Reference = c("0", "1") ) # 输出结果就是你需要的格式 print(cm_table)
内容的提问来源于stack exchange,提问作者Skn U
相关产品推荐
相关产品推荐

