【问题标题】:How could I obtain confusion matrix in R?如何在 R 中获得混淆矩阵?
【发布时间】:2021-08-01 16:29:59
【问题描述】:

我有一个表holdouTable,其中预测列pred

library(precrec)

head(holdoutTable)

enter image description here 物种几何预测 1 1 点 (38.80153 54.88964) 0.33363164 2 1 点 (37.83133 55.701) 0.56814105 3 1 点 (36.48579 55.71794) 0.09608355 4 1 点 (37.54231 55.58439) 0.10376186 5 1 点 (37.3788 54.9587) 0.07254712 6 1 点 (37.40738 55.00861) 0.11294458

我计算 ROC AUC 并绘制它,但我不知道如何获得混淆矩阵?有人可以帮帮我吗?

holdotTable$pred <- predict(mx, hddata, type = "cloglog")

precrec_hd <- evalmod(scores = holdotTable$pred, labels = holdotTable$Species)

autoplot(precrec_hd, curvetype = "ROC")

precrec_hd

模型名称数据集 ID 曲线类型 AUC 1 m1 1 ROC 0.8434492 2 平方米 1 中华人民共和国 0.7676958

附:以前人们要求我输出代码而不是数据的屏幕截图。我不确定我现在是否成功,因为我只是复制表单控制台并粘贴(无论如何我都放了holdoutTable 的图像)。如果您能建议我如何正确使用它,我将很高兴知道。谢谢!

【问题讨论】:

标签: r roc confusion-matrix auc


【解决方案1】:

你可以这样做:

require('caret')
require('e1071')
df <- data.frame(predicted = holdotTable$pred, actual = holdotTable$Species)
#assuming pred column contains the predicted species
confusionMatrix(data = df$predicted, reference = df$actual)

【讨论】:

  • 感谢您的回复,但主要问题在于“pred”列。所以我有连续值(概率),但要创建 conf 矩阵,我需要一个类(0 或 1)。
  • @DianaKoldasbayeva 如果选择是二元的,您只需根据此概率分配预测类别(如果 >0.5 则为 1,否则为 0)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
  • 2018-01-25
  • 2020-09-20
  • 2019-12-28
  • 2022-01-05
  • 2020-07-06
相关资源
最近更新 更多