拟合逻辑回归模型
有了随机划分的训练集和测试集后,您可以使用 glm() 函数在训练集上拟合逻辑回归模型。glm() 是 lm() 的进阶版本,除了最基础的普通最小二乘回归外,还支持更多类型的回归模型。
请务必向 glm() 传入参数 family = "binomial",以指定执行逻辑回归(而非线性回归)。例如:
glm(Target ~ ., family = "binomial", dataset)
像 glm.fit: algorithm did not converge 或 glm.fit: fitted probabilities numerically 0 or 1 occurred 这样的警告不必担心。在小型数据集上很常见,通常不会带来实际问题。它们通常意味着您的数据集是「完全可分」的,这可能会影响模型背后的数学性质,但 R 的 glm() 函数几乎总能稳健地处理这种情况。
在将 glm() 模型拟合到数据集后,您可以使用 predict() 函数并设置参数 type = "response",在 test 集上预测结果(例如 rock 或 mine):
predict(my_model, test, type = "response")
本练习是课程的一部分
在 R 中使用 caret 的机器学习
练习说明
- 拟合一个名为
model的逻辑回归模型,用所有其他变量作为自变量来预测Class。使用Sonar的训练集。 - 使用该模型在
test集上进行预测。像之前一样,将结果命名为p。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Fit glm model: model
# Predict on test: p