Plot confusion doesn't work

4 ビュー (過去 30 日間)
Olga Zhukova
Olga Zhukova 2013 年 12 月 17 日
コメント済み: Tapan 2023 年 8 月 11 日
Hello,
I have the problem that when I try use plotconfusion, this function doesn't work.
I have dataset with 15 classes and I try to predict the target value using knn-classification. I've divided datasets to training and test datasets (75:25 accordinaly). My dataset has 300 instances and 90 attributes.
The problem is that when I try to call this plotconfusion function I just see that this doesn't work (it somehow just go to a infinite cycle or something like this, the process doesn't terminate). Could you tell me what's the problem or do I use it wrong?
Here the part of my code: knn = ClassificationKNN.fit(XtrainNN,YtrainNN,'NumNeighbors',5); Y_knn = knn.predict(XtestNN); loss(knn, XtestNN, YtestNN) plotconfusion(Y_knn,YtestNN)
  3 件のコメント
Baran Yildiz
Baran Yildiz 2017 年 9 月 26 日
I am also having the same problem. Plot confusion doesn't seem to work even for the sample problem/dataset given in the reference link below:
https://au.mathworks.com/help/nnet/ref/plotconfusion.html#inputarg_targets
Tapan
Tapan 2023 年 8 月 11 日
My error is please tell me how to solve
Error using plotconfusion>standard_args (line 255) Value is not a matrix or cell array.
Error in plotconfusion (line 111) update_args = standard_args(args{:});
Error in dltt (line 18) plotconfusion(testdata.Labels, Predicted);

サインインしてコメントする。

回答 (3 件)

Nathan DeJong
Nathan DeJong 2017 年 9 月 27 日
Try transposing the inputs so that they are row vectors rather than column vectors. It worked for me. Seems to be a strange bug in plotconfusion().
  1 件のコメント
Pedro Borges
Pedro Borges 2018 年 10 月 17 日
transposing the inputs worked for me, too! thanks!

サインインしてコメントする。


Hamid Salimi
Hamid Salimi 2021 年 6 月 9 日
I write it for anyone that may have the same problem, I solved it by converting my actual and predicted results to categorical data! your actual and predicted should be n * 1, and then use it:
plotconfusion(categorical(actual),categorical(predicted));

Ilya
Ilya 2013 年 12 月 17 日
I never used plotconfusion, but you can get what you want using functions confusionmat and imagesc. For example,
knn = ClassificationKNN.fit(XtrainNN,YtrainNN,'NumNeighbors',5);
Y_knn = knn.predict(XtestNN);
cm = confusionmat(YtestNN,Y_knn);
imagesc(cm);
colorbar;

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by