计算AUC和GAM并在R中设置比例

时间:2014-05-21 02:58:20

标签: graph r

我的数据表格如下:

x    y   chla   sst   ssha   eke  tuna
:    :     :     :      :     :     : 
:    :     :     :      :     :     :

我使用GAM模型如下:

GAM< -gam(tuna~s(chla),family =二项式,data = nonLinear)

通过使用上面的模型,我可以处理chla,sst和ssha的数据。但是当我处理eke数据时,它没有工作,R程序告诉我“eval中的错误(expr,envir,enclos):找不到对象eke。有人可以帮我解决这个问题吗?” p>

我已经安装了ROCR包来计算AUC。但我不知道如何(语法)来计算AUC。有人可以帮我解决这个问题吗?

我还使用以下命令制作图表:

plot(GAM, xlab=..., ylab=..... font.lab= ...shade=....)

但是当我运行该命令时,结果并不是那么好。我的意思是,y轴上的比例非常奇怪。如何分别在1和5区间(例如)中设置y轴和x轴上的比例?

1 个答案:

答案 0 :(得分:0)

由于您没有包含任何测试数据,我将使用gam包中的测试数据来计算AUC并绘制ROC曲线。

library(gam)
library(ROCR)

#sample binomial regression    
data(kyphosis)
GAM<-gam(Kyphosis ~ poly(Age,2) + s(Start), data=kyphosis, family=binomial)

#get the predicted probabilities for each sample
gampred <- predict(GAM, type="response")

#make a ROCR prediction object using the predicted values from
#    our model and the true values from the real data
rp <- prediction(gampred, kyphosis$Kyphosis) 

#now calculate AUC
auc <- performance( rp, "auc")@y.values[[1]]
auc

#not plot ROC curve
roc <- performance( rp, "tpr", "fpr")
plot( roc )

ROC curve