MATLAB中Logistic回归交叉验证ROC曲线的获取
我试图计算交叉验证的ROC曲线。特别是参数AUC(曲线下面积)和OPTROCPT(最佳ROC点)。我想我可以通过平均每次迭代的AUC和th OptROCPt来计算它们,但我没有得到正确的结果。我做错了什么 我的代码是:MATLAB中Logistic回归交叉验证ROC曲线的获取,matlab,cross-validation,roc,auc,Matlab,Cross Validation,Roc,Auc,我试图计算交叉验证的ROC曲线。特别是参数AUC(曲线下面积)和OPTROCPT(最佳ROC点)。我想我可以通过平均每次迭代的AUC和th OptROCPt来计算它们,但我没有得到正确的结果。我做错了什么 我的代码是: cv = cvpartition(size(Y,1),'kfold',10); AUCvector=zeros(10,1); OptPtovector=zeros(10,2); for k=1:10 istrain = training(cv,k);
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)
致以最良好的祝愿,
Frank请提供可用于调试代码的公式,以便有人能够回答问题。同时提供您遇到的错误结果。请提供可用于调试代码的公式,以便有人能够回答问题。同时提供您遇到的错误结果。