在MATLAB中获得Logistic回归的交叉验证中的ROC曲线

时间:2015-07-18 13:07:23

标签: matlab cross-validation roc auc

我正在尝试计算交叉验证的ROC曲线。特别是,参数AUC(曲线下面积)和OPTROCPT(最佳ROC点)。我可以通过平均每次迭代的AUC和OptROCPt来计算它们,但是我得不到正确的结果。我做错了什么?

我的代码是:

 cv = cvpartition(size(Y,1),'kfold',10);
 AUCvector=zeros(10,1);
 OptPtovector=zeros(10,2);

 for k=1:10
     istrain = training(cv,k);
     istest = test(cv,k);
     [b,dev,stats] = glmfit(X(istrain),y(istrain),'binomial','logit'); 
     p=glmval(b,X(istest),'logit'); $ Are p the scores for perfcurve?
     clear AUC OptPto
     [Temp1,Temp2,Temp3,AUC,OptPto]=perfcurve(y(istest),p,1);
     AUCvector(k,1)=AUC;
     OptPtovector(k,:)=OptPto;
  end
  mAUC=mean(AUCvector)
  mOptPto=mean(OptPtovector,2)

祝你好运, 弗兰克

0 个答案:

没有答案