进行二元预测
在上一个练习中,您使用 glm() 构建了一个关于捐赠者行为的逻辑回归模型。与 R 中许多机器学习方法类似,您可以对模型对象使用 predict() 来预测未来行为。默认情况下,除非指定 type = "response",predict() 会输出以「对数几率」表示的预测值。指定该参数会将对数几率转换为「概率」。
由于逻辑回归模型估计的是结果发生的「概率」,因此需要由您来确定在何种阈值下应采取行动。需要在过于谨慎与过于激进之间权衡。例如,如果您只联系捐赠概率 ≥ 99% 的人,可能会错过许多虽被估计为较低概率但仍会捐赠的人。对于结果高度不平衡的情形,这种权衡尤其重要。本数据集中捐赠相对少见,正是这种情况。
数据集 donors 和模型 donation_model 已为您准备好。
本练习是课程的一部分
R 中的监督学习:分类
练习说明
- 使用
predict()估计每个人的捐赠概率。通过type参数获取概率。将预测结果保存到名为donation_prob的新列。 - 通过将
mean()应用于donors数据框中相应的列,计算平均水平下实际的捐赠概率。 - 使用
ifelse():当某人的预测捐赠概率高于平均水平时预测其会捐赠。将结果保存到名为donation_pred的新列。 - 使用
mean()计算模型的准确率。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Estimate the donation probability
donors$donation_prob <- predict(___, type = "___")
# Find the donation probability of the average prospect
mean(___)
# Predict a donation if probability of donation is greater than average (0.0504)
donors$donation_pred <- ifelse(___ > 0.0504, ___, ___)
# Calculate the model's accuracy
mean(___ == ___)