Help on using perfcurve

Hi everyone, does anyone know how to use the result from gmdistribution.fit and pdf to plot the ROC curve to test the performance of the GMM classifier? or is there any missing step in between? Thank you

回答 (1 件)

Ilya
Ilya 2013 年 11 月 15 日

0 投票

Use the cluster method of the gmdistribution object to obtain cluster assignments and their posterior probabilities. Then pass these cluster indices to perfcurve as class labels and pass these posterior probabilities as classification scores. For example:
load fisheriris;
cv = cvpartition(species,'holdout',.5);
g = gmdistribution.fit(meas(cv.training,:),3);
[y,~,post] = cluster(g,meas(cv.test,:));
[fpr,tpr] = perfcurve(y,post(:,1),1,'negclass',[2 3]);
plot(fpr,tpr)
gives you a ROC curve of the 1st class vs 2nd and 3rd. (In this case there is perfect separation in the test data and you won't see a ROC curve, but that's the idea.)

カテゴリ

ヘルプ センター および File ExchangeROC - AUC についてさらに検索

質問済み:

2013 年 11 月 15 日

回答済み:

2013 年 11 月 15 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by