美文网首页R语言做生信
R语言机器学习与临床预测模型29--ROC曲线及AUC计算

R语言机器学习与临床预测模型29--ROC曲线及AUC计算

作者: 科研私家菜 | 来源:发表于2022-03-13 11:46 被阅读0次

    本内容为【科研私家菜】R语言机器学习与临床预测模型系列课程

    R小盐准备介绍R语言机器学习与预测模型的学习笔记

    你想要的R语言学习资料都在这里, 快来收藏关注【科研私家菜】


    01 ROC曲线

    ROC曲线是在各种阈值设置下的分类问题的性能测量方法。 ROC是概率曲线,AUC表示可分离性的程度。它告诉我们有关模型区分的能力。 AUC越高,模型越好,将0预测为0,将1预测为1。AUC越高,模型越好区分疾病患者和无疾病患者。用TPR对FPR绘制ROC曲线,其中TPR在y轴上,FPR在x轴上。






    02 R语言绘制ROC曲线

    ## 诊断试验ROC分析
    example21_2  <- read.table ("data1.csv", header=TRUE, sep=",")
    example21_2
    attach(example21_2)
    summary(example21_2)
    str(example21_2) #structure of dataframe
    
    library(ROCR)
    pred <- prediction(example21_2$value, example21_2$group)
    pred
    perf <- performance(pred,"tpr","fpr")
    plot(perf,col="red")
    abline(a=0,b=1,col="blue")
    perf1 <- performance(pred, "prec", "rec")
    plot(perf1)
    perf2 <- performance(pred, "sens", "spec")
    plot(perf2)
    auc <- performance(pred,"auc")
    auc
    detach(example21_2)
    
    # 2
    example21_3  <- read.table ("data2.csv", header=TRUE, sep=",")
    attach(example21_3)
    summary(example21_3)
    str(example21_3)
    #install.packages("ROCR")
    library(ROCR)
    pred1 <- prediction(example21_3$mRNA, example21_3$oncology)
    pred1
    pred2 <- prediction(example21_3$dna, example21_3$oncology)
    pred2
    perf1 <- performance(pred1,"tpr","fpr")
    perf2 <- performance(pred2,"tpr","fpr")
    
    plot(perf1, col="blue")
    plot(perf2, col="red", add=TRUE)
    abline(a=0,b=1,col="gray")
    legend(locator(n=1),legend=c("mRNA","dna"),lty=1,col=c("blue","red"))
    
    auc1 <- performance(pred1,"auc")
    auc1
    auc2 <- performance(pred2,"auc")
    auc2
    

    效果如下:


    03 联合诊断ROC

    #联合诊断ROC
    fit1 <- glm(oncology~ mRNA + dna, family= binomial(), data=example21_3)
    summary(fit1)
    
    example21_3$predvalue<-predict(fit1,type="response")
    
    pred <- prediction(example21_3$predvalue, example21_3$oncology)
    perf<- performance(pred,"tpr","fpr")
    plot(perf)
    abline(0,1)
    auc <- performance(pred,"auc")
    auc #auc即是C-statistics
    

    关注R小盐,关注科研私家菜(VX_GZH: SciPrivate),有问题请联系R小盐。让我们一起来学习 R语言机器学习与临床预测模型

    相关文章

      网友评论

        本文标题:R语言机器学习与临床预测模型29--ROC曲线及AUC计算

        本文链接:https://www.haomeiwen.com/subject/spnamltx.html