Plot confusion doesn't work

3 ビュー (過去 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 ExchangeSupport Vector Machine Regression についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by