r语言confusionMatrix函数解读
时间: 2023-06-16 08:05:06 浏览: 352
在R语言中,`caret`包提供了`confusionMatrix`函数来计算分类模型的混淆矩阵。混淆矩阵是评估分类模型性能的一种方法,以矩阵的形式呈现实际类别和预测类别之间的关系。
`confusionMatrix`函数需要两个参数,一个是实际类别,另一个是预测类别。这些类别可以是数值型或字符型。函数会输出混淆矩阵,包括真阳性(TP)、假阳性(FP)、真阴性(TN)和假阴性(FN)的数量,以及准确率、召回率和F1得分等性能指标。
例如,假设有一个二分类问题,实际上有10个正类和10个负类,模型预测其中9个正类和11个负类。我们可以使用以下代码计算混淆矩阵:
```
actual <- c(rep("Positive", 10), rep("Negative", 10))
predicted <- c(rep("Positive", 9), rep("Negative", 11))
confusionMatrix(actual, predicted)
```
输出结果为:
```
Confusion Matrix and Statistics
Reference
Prediction Negative Positive
Negative 9 1
Positive 1 9
Accuracy : 0.9
95% CI : (0.6763, 0.9773)
No Information Rate : 0.5
P-Value [Acc > NIR] : 0.003906
Kappa : 0.8
Mcnemar's Test P-Value : 1
Sensitivity : 0.9
Specificity : 0.9
Pos Pred Value : 0.9
Neg Pred Value : 0.9
Prevalence : 0.5
Detection Rate : 0.45
Detection Prevalence : 0.5
Balanced Accuracy : 0.9
'Positive' Class : Negative
```
从输出结果中,我们可以看到混淆矩阵的实际和预测类别。例如,真阳性(TP)为9,假阳性(FP)为1,真阴性(TN)为9,假阴性(FN)为1。此外,还有准确率、召回率、F1得分等性能指标。
阅读全文