分类学习者应用程序在应用程序GUI中以混淆矩阵,ROC曲线等形式提供了很好的结果。
但是,如何将所有这些值(例如准确性,观察数量,TPP,FNR,PPV和所有类别的FDR)轻松导出App?
提前致谢!
答案 0 :(得分:0)
似乎分类器中没有简单的GUI选项,但您可以使用其他一些函数来获取结果。这是一个例子:
ROC曲线:
% load some sample data
fishertable = readtable('fisheriris.csv');
% here FisherClassifier is the exported code from the Classification
% Learner:
[trainedClassifier, validationAccuracy,validationPredictions,...
validationScores] = FisherClassifier(fishertable);
% Species is the right classification:
species = fishertable.Species;
spp = 'versicolor'; % this is the species that you want it's ROC curve
% find the group number for this class:
cls = strcmp(spp,trainedClassifier.ClassificationKNN.ClassNames);
% calculate the ROC:
[X,Y,T,AUC] = perfcurve(species,validationScores(:,cls),spp);
% Plot it:
plot(X,Y,'LineWidth',2)
hold on
area(X,Y,'FaceColor',lines(1),'FaceAlpha',0.2)
xlabel('False positive rate')
ylabel('True positive rate')
text(0.5,0.5,['AUC = ' num2str(AUC)])
hold off
结果:
但是,正如可以在this answer中看到的那样,您可以通过以下方式获取所有未处理的数字句柄:
hFigs = findall(groot,'type','figure')
这会产生一系列数字,例如:(例如):
hFigs =
4x1 Figure array:
Figure (MLearnAppConfusionMatrixFigure)
Figure (ParallelCoordinatesFigure)
Figure (MLearnAppROCCurveFigure)
Figure (ScatterFigure)
现在,您可以使用以下内容将它们全部保存到一个.fig
文件(此处称为allcalss
):
savefig(hFigs,'allcalss')
或保存您想要的那个,通过其特定句柄说出混淆矩阵:
savefig(hFigs(1),'confmat')
以后你可以使用openfig
命令对它们进行修改。
答案 1 :(得分:0)
右键单击分类学习器应用程序图,然后选择show code
。
生成代码后,请运行它。您将获得另一个图形,在该图形中您将看到相同的结果。