【问题标题】:Classification table and ROC curve - logistic regression in R using lrm分类表和 ROC 曲线 - R 中使用 lrm 的逻辑回归
【发布时间】:2013-12-12 23:55:39
【问题描述】:

我想在 rms 包中使用 lrm 函数创建一个逻辑回归分类表,然后绘制 roc 曲线。我使用 glm 函数执行了此操作。示例代码

train<-sample(dim(data)[1],.8*dim(data)[1]) #80-20 training/test
datatrain<-data[train,]
datatest<-data[-train,]
fit<-glm(Target ~ ., data=datatrain,family=binomial()) #Target is 0/1 variable
prob=predict(fit,type=c("response"),datatest)
datatest$prob=prob
library(pROC)
ROC <- roc(Target==1 ~ prob, data = datatest)
plot(ROC)
confusion<-table(prob>0.5,datatest$Target)
errorrate<-sum(diag(confusion))/sum(confusion)
errorrate

如何使用lrm函数得到混淆矩阵?

【问题讨论】:

    标签: r roc logistic-regression confusion-matrix


    【解决方案1】:

    lrm 函数返回一个继承自 glm 类的 fit 对象。这在 lrm 帮助页面中没有明确说明,但很容易验证。在?lrm 页面上运行第一个示例中的设置代码后

    > f <- lrm(ch ~ age)
    > class(f)
    [1] "lrm" "rms" "glm"
    

    所以您应该能够使用上面使用的普通predict 方法。 Harrell 教授建议不要使用拆分样本验证和使用 ROC 曲线进行模型比较。他在他的包中提供了更好的方法的机制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-02
      • 2013-06-26
      • 2018-10-13
      • 2015-02-19
      • 1970-01-01
      • 1970-01-01
      • 2012-11-19
      • 2016-08-09
      相关资源
      最近更新 更多