我使用R中的插入符号包拟合了逻辑回归模型(使用ISLR包中的Smarket数据集)。然后,我使用(总体测试错误)K倍交叉验证(K = 5)计算了总的未分类错误。
require(ISLR)
require(caret)
fitControl <- trainControl(method = "cv",number = 5)
mod_fit <- train(Direction ~ Lag1 + Lag2 + Lag3 + Lag4 + Lag5 + Volume,
data=Smarket, method="glm",trControl = fitControlcv)
Generalized Linear Model
1250 samples
6 predictor
2 classes: 'Down', 'Up'
No pre-processing
Resampling: Leave-One-Out Cross-Validation
Summary of sample sizes: 1249, 1249, 1249, 1249, 1249, 1249, ...
Resampling results:
Accuracy Kappa
0.4976 -0.02588095
从上述输出中,我能够计算总的未分类错误,因为,
总错过分类= 1-准确性。
是否还可以使用K折叠交叉验证从插入符号包中提取敏感性和特异性(特定类错误)?
通过创建用户定义的函数(例如:https://youtu.be/AFg2MvhFeho
)进行创建,我能够计算出K折交叉验证中的敏感性和特异性。但是我想知道是否可以使用插入符号package轻松完成。
谢谢
答案 0 :(得分:1)
可以通过以下方式将观测值和预测值交叉列表化来完成
:table((mod_fit$pred)$obs,(mod_fit$pred)$pred)
Down Up
Down 125 477
Up 151 497
如此
overall missclassification = (125+497)/250 = 0.4976
sensitivity = 497/(151+497) = 0.7770
答案 1 :(得分:0)
您尝试过使用
confusionMatrix(data = predictions, reference = observations)
应该给您您正在寻找的东西以及更多。您还可以查看更多详细信息here。