开始使用免费开始使用

评估样本外模型拟合

您已经知道,与其查看样本内拟合,不如关注样本外的模型拟合更有意义。因此,在本练习中,您将构建一个样本外准确率指标。

在此之前,您需要先完成一些准备步骤。再次使用 defaultDatalogitModelNew 已经加载在您的环境中。

请注意,完整的分析中,您始终需要比较不同的候选模型,并且(尤其要)使用样本外数据进行比较。

样本内准确率——在最优阈值 0.3 下——为 0.7922901。 请确保您理解是否存在过拟合。

本练习是课程的一部分

用 R 进行市场营销分析的机器学习

查看课程

练习说明

  • 首先,将数据集随机划分为训练集和测试集。训练集应包含整体数据的 2/3。

  • 然后快速运行模型,并将其命名为 logitTrainNew。使用给定公式。

  • 在测试集上进行预测,然后借助混淆矩阵计算样本外准确率。请注意,SDMTools 已无法从 CRAN 下载。在您的本地电脑上请改为通过 remotes::install_version("SDMTools", "1.1-221.2") 安装。

  • 将样本外准确率与上方给出的样本内数值进行比较。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Split data in train and test set
set.seed(534381) 
defaultData$isTrain <- rbinom(nrow(defaultData), 1, 0.66)
train <- subset(defaultData, ___ == 1)
test <- subset(defaultData, ___  == 0)

logitTrainNew <- glm(formulaLogit, family = binomial, data = ___) # Modeling
test$predNew <- predict(logitTrainNew, type = "response", newdata = ___) # Predictions

# Out-of-sample confusion matrix and accuracy
confMatrixModelNew <- confusion.matrix(___, ___, threshold = 0.3) 
sum(diag(confMatrixModelNew)) / sum(confMatrixModelNew) # Compare this value to the in-sample accuracy
编辑并运行代码