交叉验证
正如您所见,交叉验证是避免过拟合的巧妙方法。在本练习中,您将计算交叉验证的准确率。
所需的数据集 defaultData 和模型都已就绪。您可以在前几行代码中找到准确率函数。这就是您的代价函数。请原样保留,并在下面调用 cv.glm() 时使用它。试一试吧!
本练习是课程的一部分
用 R 进行市场营销分析的机器学习
练习说明
使用 6 折交叉验证,计算模型
logitModelNew的准确率。您需要使用boot包中的cv.glm()。交叉验证的准确率存放在结果中delta元素的第 1 个位置。将交叉验证得到的准确率与样本内验证的结果进行比较。请记住,样本内的准确率是
0.7922901。
交互式实操练习
通过完成这段示例代码来试试这个练习。
library(boot)
# Accuracy function
costAcc <- function(r, pi = 0) {
cm <- confusion.matrix(r, pi, threshold = 0.3)
acc <- sum(diag(cm)) / sum(cm)
return(acc)
}
# Cross validated accuracy for logitModelNew
set.seed(534381)
cv.glm(___, ___, cost = ___, K = ___)$delta[1]