You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言mltools包Matthews相关系数(mcc)函数运行报错问题问询

报错原因定位

mltools包的mcc()函数仅支持三种互斥的入参模式,三种模式不能同时使用,你当前代码同时传入了三类参数,触发了参数校验报错:

  • 模式1:仅传入actuals(真实标签)和preds(预测标签)
  • 模式2:仅传入TP/FP/TN/FN四个混淆矩阵统计值
  • 模式3:仅传入confusionM(现成的混淆矩阵对象)

额外注意:你训练模型时将因变量Y转为了因子类型,预测输出的pred_rf也是因子类型,而测试集的data.test$Y是数值类型,如果选用模式1需要先统一二者数据类型。

解决方法

三个方案任选其一即可:

方案1:使用真实标签+预测标签计算

# 统一预测值和真实值的数据类型
pred_rf_num <- as.numeric(as.character(pred_rf))
metrics_rf <- data.frame(MCC_rf = mcc(actuals = data.test$Y,
                                      preds = pred_rf_num))

方案2:使用混淆矩阵四个统计值计算

metrics_rf <- data.frame(MCC_rf = mcc(TP = tab_rf[1,1],
                                      FP = tab_rf[1,2],
                                      TN = tab_rf[2,2],
                                      FN = tab_rf[2,1]))

方案3:直接传入现成混淆矩阵计算

metrics_rf <- data.frame(MCC_rf = mcc(confusionM = tab_rf))

内容的提问来源于stack exchange,提问作者Hecar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:54:01