R 如何使用插入符号包解释模型输出的准确性
我正在使用caret软件包训练一个模型,并希望得到模型的准确性。我听到的一种常见方法是使用confusionMatrix。然而,当我运行下面的代码时,经过训练的模型给出了一些与confusionMatrix()报告略有不同的精度值。所以我的问题是我应该使用什么样的准确度?如何解释模型在控制台中直接给出的准确性R 如何使用插入符号包解释模型输出的准确性,r,R,我正在使用caret软件包训练一个模型,并希望得到模型的准确性。我听到的一种常见方法是使用confusionMatrix。然而,当我运行下面的代码时,经过训练的模型给出了一些与confusionMatrix()报告略有不同的精度值。所以我的问题是我应该使用什么样的准确度?如何解释模型在控制台中直接给出的准确性 ModelRF_ALL_b <- train(price~.,method="rf",data=datatraining_b) ModelRF_ALL_b 我还可以运行confus
ModelRF_ALL_b <- train(price~.,method="rf",data=datatraining_b)
ModelRF_ALL_b
我还可以运行confusionMatrix()
它的精度为1
Confusion Matrix and Statistics
Reference
Prediction 0 1
0 6414 0
1 0 1729
Accuracy : 1
95% CI : (0.9995, 1)
No Information Rate : 0.7877
P-Value [Acc > NIR] : < 2.2e-16
Kappa : 1
Mcnemar's Test P-Value : NA
Sensitivity : 1.0000
Specificity : 1.0000
Pos Pred Value : 1.0000
Neg Pred Value : 1.0000
Prevalence : 0.7877
Detection Rate : 0.7877
Detection Prevalence : 0.7877
Balanced Accuracy : 1.0000
'Positive' Class : 0
混淆矩阵与统计
参考文献
预测0 1
0 6414 0
1 0 1729
准确度:1
95%可信区间:(0.9995,1)
无信息率:0.7877
P值[Acc>NIR]:<2.2e-16
卡帕:1
麦克内马尔试验P值:NA
灵敏度:1.0000
特异性:1.0000
Pos Pred值:1.0000
负预测值:1.0000
患病率:0.7877
破案率:0.7877
检出率:0.7877
平衡精度:1.0000
“正”类:0
您可以将这些值解释为样本中的,精度,分别使用和不使用重采样
当您适合模型时,软件包caret
执行引导重采样,重复25次,这可以在模型输出中看到。因此,精度值基于25 x 8143个观测值。为了创建混淆矩阵,您使用最终模型(mtry=2的模型)预测训练样本的结果,该样本的长度为8143。因此,在相应的精度上有轻微差异是正常的
在评估拟合优度时需要小心,因为您正在使用相同的数据集训练和评估模型。毫不奇怪,你得到了一个大的准确性。使用看不见的数据集评估最终模型总是很好的,以确保其性能并检测可能的过度拟合问题
confusionMatrix(datatraining_b$price,
predict(ModelRF_ALL_b,datatraining_b))
Confusion Matrix and Statistics
Reference
Prediction 0 1
0 6414 0
1 0 1729
Accuracy : 1
95% CI : (0.9995, 1)
No Information Rate : 0.7877
P-Value [Acc > NIR] : < 2.2e-16
Kappa : 1
Mcnemar's Test P-Value : NA
Sensitivity : 1.0000
Specificity : 1.0000
Pos Pred Value : 1.0000
Neg Pred Value : 1.0000
Prevalence : 0.7877
Detection Rate : 0.7877
Detection Prevalence : 0.7877
Balanced Accuracy : 1.0000
'Positive' Class : 0