本內(nèi)容為【科研私家菜】R語(yǔ)言機(jī)器學(xué)習(xí)與臨床預(yù)測(cè)模型系列課程
R小鹽準(zhǔn)備介紹R語(yǔ)言機(jī)器學(xué)習(xí)與預(yù)測(cè)模型的學(xué)習(xí)筆記
你想要的R語(yǔ)言學(xué)習(xí)資料都在這里荔仁, 快來(lái)收藏關(guān)注【科研私家菜】
01 ROC曲線
ROC曲線是在各種閾值設(shè)置下的分類問(wèn)題的性能測(cè)量方法。 ROC是概率曲線粘茄,AUC表示可分離性的程度霸旗。它告訴我們有關(guān)模型區(qū)分的能力贷帮。 AUC越高,模型越好诱告,將0預(yù)測(cè)為0撵枢,將1預(yù)測(cè)為1。AUC越高精居,模型越好區(qū)分疾病患者和無(wú)疾病患者锄禽。用TPR對(duì)FPR繪制ROC曲線,其中TPR在y軸上靴姿,F(xiàn)PR在x軸上沃但。
02 R語(yǔ)言繪制ROC曲線
## 診斷試驗(yàn)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 聯(lián)合診斷ROC
#聯(lián)合診斷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
關(guān)注R小鹽,關(guān)注科研私家菜(VX_GZH: SciPrivate)佛吓,有問(wèn)題請(qǐng)聯(lián)系R小鹽宵晚。讓我們一起來(lái)學(xué)習(xí) R語(yǔ)言機(jī)器學(xué)習(xí)與臨床預(yù)測(cè)模型