r语言如何做出混淆矩阵
时间: 2023-06-15 08:05:42 浏览: 66
在 R 语言中,可以通过使用 `confusionMatrix()` 函数来计算和绘制混淆矩阵。该函数位于 `caret` 包中,因此需要先安装和加载该包。
下面是一个示例代码,展示如何计算和绘制混淆矩阵:
```
# 安装和加载 caret 包
install.packages("caret")
library(caret)
# 创建一个示例数据集
actual <- c("cat", "cat", "cat", "dog", "dog", "dog", "bird", "bird", "bird")
predicted <- c("cat", "dog", "bird", "cat", "dog", "bird", "cat", "dog", "bird")
# 计算混淆矩阵
confusion_matrix <- confusionMatrix(predicted, actual)
# 打印混淆矩阵
print(confusion_matrix$table)
# 绘制混淆矩阵图形
plot(confusion_matrix$table, col = confusionMatrix.colors(confusion_matrix$table,
sort = TRUE), main = "Confusion Matrix",
xlab = "Actual", ylab = "Predicted")
```
在上面的代码中,我们首先创建了一个示例数据集 `actual` 和 `predicted`,其中 `actual` 表示真实标签,`predicted` 表示模型预测的标签。然后,我们使用 `confusionMatrix()` 函数计算混淆矩阵,并打印出来。最后,我们使用 `plot()` 函数绘制混淆矩阵图形。
混淆矩阵的输出将会是一个类似于下面这样的矩阵:
```
Reference
Prediction cat dog bird
cat 1 1 1
dog 1 1 1
bird 1 1 1
```
其中,行表示预测标签,列表示真实标签。例如,第一行第一列的元素表示模型将三个 "cat" 样本预测为 "cat" 的数量。在混淆矩阵图形中,对角线上的方块表示正确分类的样本数,非对角线上的方块表示错误分类的样本数。