Getting the accurate percent of the predicted classes using predictFCN

조회 수: 15 (최근 30일)
Dear All
I am using MATLAB 2022 to train a dataset that has two classes 0 and 1.
First of all, I used the classificationLearner then I exported the model to get the predicted classes of the test set.
The predicted classes were either 0 or 1 using predictFCN.
Is there a way to get the percent of the predicted class instead of getting them as integers please?.
I mean for example: if possible to get a prediction of 0.01 for class 0 instead of just 0 and a prediction of 0.89 for the class 1.
Hope I could explain my inquiry.
Thanks in advance.

채택된 답변

Drew
Drew 2023년 4월 11일
편집: Drew 2023년 4월 11일
Editing this answer based on the comments below:
Ok, so it sounds like, for each test observation, you want the score of each output class, and you want those output class scores to be in the form of a probability.
Two steps:
[yfit,scores] = C.predictFcn(T)
(2) Whether those scores represent probabilities depends on the type of classifier you have trained, and some other settings. See https://www.mathworks.com/matlabcentral/answers/395526-how-do-i-obtain-scores-as-probabilistic-estimates-using-the-predict-function-on-a-fitcensemble-model for more info for ensembles. Or, refer to the doc pages for the classifier that you have trained.
The initial answer: This appears to not be what you were asking, but if you want to get measures of accuracy over the test set on a per-class basis, you can use the confusionchart command https://www.mathworks.com/help/stats/confusionchart.html. You can use use the "ColumnSummary", "RowSummary" and "Normalization" name-value arguments to confusionchart to get absoluate counts or percentages with your choice of normalization.
  댓글 수: 3
Drew
Drew 2023년 4월 11일
Ok, so it sounds like, for each test observation, you want the score of each output class, and you want those output class scores to be in the form of a probability.
Two steps:
[yfit,scores] = C.predictFcn(T)
(2) Whether those scores represent probabilities depends on the type of classifier you have trained, and some other settings. See https://www.mathworks.com/matlabcentral/answers/395526-how-do-i-obtain-scores-as-probabilistic-estimates-using-the-predict-function-on-a-fitcensemble-model for more info for ensembles. Or, refer to the doc pages for the classifier that you have trained.
Lama Moualla
Lama Moualla 2023년 4월 12일
This answer is super fast and perfect!
THANKS A LOT

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Classification Learner App에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by