どのようにして、CN​Nの識別結果について​混合行列でプロットす​ることができますか?

4 visualizaciones (últimos 30 días)
MathWorks Support Team
MathWorks Support Team el 27 de Nov. de 2017
Respondida: MathWorks Support Team el 27 de Nov. de 2017
Neural Network Toolbox で提供される例題「分類用のシンプルな深層学習ネットワークの作成」 において CNNを使って手書き数字の識別例があります。
この例題では、モデル作成後、テスト画像を入力して、モデル出力と教師の精度を単純にパーセンテージであらわしていますが、混合行列でプロットするためにはどのようにすればよいでしょうか?
 

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 30 de Nov. de 2017
Statistics and Machine Learning Toolbox をお持ちの場合
Statistics and Machine Learning Toolbox で提供される confusionmat 関数および、 heatmap 関数の組み合わせより混合行列をプロットすることができます。
 
>> [cmat,classNames] = confusionmat(TTest, YTest);
>> h = heatmap(classNames, classNames, cmat)
Statistics and Machine Learning Toolbox をお持ちでない場合
Neural Network Toolbox に、 plotconfusion 関数が用意されています。 
仕様として、category 配列を直接取り扱うことができないため、 一旦、double型に変換して、 識別番号0,1,2, ~ 9 として出力する必要があります。 
また、識別番号0を (1,0,0,0,0,0,0,0,0,0), 識別番号2 を(0,1,0,0,0,0,0,0,0,0) 等とした2値化する必要があります。 
そのため、 該当のスクリプトにおいては、 プログラム末尾に下記のように追記頂く必要があります。 
 
vec1 = ind2vec(double(TTest).',10)
vec2 = ind2vec(double(YTest).',10)
plotconfusion(vec1, vec2)

Más respuestas (0)

Etiquetas

Aún no se han introducido etiquetas.

Productos


Versión

R2017a

Community Treasure Hunt

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

Start Hunting!