首页 > 解决方案 > 如何使用 R 中的函数创建混淆矩阵

问题描述

我创建了以下数据集:

actual <- c(1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0)
predicted <- c(1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0)

以下代码有效,但我想使用一个函数来创建混淆矩阵:

#create new data frame
new_data <- data.frame(actual, predicted)
new_data["class"] <- ifelse(new_data["actual"]==0 & new_data["predicted"]==0, "TN",
                            ifelse(new_data["actual"]==0 & new_data["predicted"]==1, "FP",
                                   ifelse(new_data["actual"]==1 & new_data["predicted"]==0, "FN", "TP")))
(conf.val <- table(new_data["class"]))

这样做的代码可能是什么?

标签: r

解决方案


插入符号库提供了大量的机器学习方法

library(caret)
actual <- as.factor(c(1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0))
predicted <- as.factor(c(1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0))

caret::confusionMatrix(data = predicted, actual, positive="1")

推荐阅读