我正在尝试使用以下语法执行逻辑回归
logregmodel <- glm(Y ~., data = quant, family = binomial() )
我有15个分类变量和30个连续变量。通过使用上面的语法,我无法定义连续和分类变量是什么。手动设置它们需要花费很多时间。我还要添加ROC曲线和输出的混淆矩阵。请帮助。
答案 0 :(得分:1)
如果在quant
中,分类变量是非数字的,glm
会将它们正确地作为分类变量处理。
要获得混淆矩阵,请使用predict
函数:
# This will give you probabilities.
fitted <- predict(logregmodel, quant, type="response")
# Use a cut point to divide into classes
cutpoint <- 0.5
estimated.class <- ifelse(fitted > cutpoint, 'Class 1', 'Class 2')
# Calculate the confusion matrix
table(estimated.class, actual.class)
您可以使用 ROCR 包来获取ROC曲线。 Here is a good explination。你需要向下滚动一下ROC曲线部分,但整个事情都是有意义的。
ROCR 包(特别是prediction
函数)也可用于获取混淆矩阵。
我要注意的是,如果根据用于拟合模型的相同数据集得出的预测响应计算ROC曲线和模型性能测量值(如灵敏度或特异性),则会产生偏差。