機械学習-文字認識 (正解率、誤認識のマトリックス)
機械学習-文字認識 (プログラム)にて作成したプログラムに対して別の方法にて正解率、誤認識のマトリックスを表示しています。
ソースコード
以下の記事のプログラムに対して追加でコードを作成してください
# 正解率(正解、予測)
1 2 |
from sklearn import metrics print(metrics.classification_report(lab_test,clf.predict(att_test))) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
precision recall f1-score support 0 1.00 0.99 0.99 88 1 0.99 0.96 0.97 91 2 0.99 0.99 0.99 86 3 0.98 0.90 0.94 91 4 0.99 0.96 0.97 92 5 0.95 0.96 0.95 91 6 0.99 0.99 0.99 91 7 0.98 0.99 0.98 89 8 0.94 1.00 0.97 88 9 0.92 0.98 0.95 92 avg / total 0.97 0.97 0.97 899 |
precisionが正解の精度となります。97%の精度になっていることが分かります。個々の正解率を見ていくと、0=100%、1=0.99% ・・・・9=0.92%となっています。
1 2 3 |
# 正解率(正解、予測) from sklearn import metrics print(metrics.classification_report(lab_test,clf.predict(att_test))) |
1 2 3 4 5 6 7 8 9 10 |
[[87 0 0 0 1 0 0 0 0 0] [ 0 87 1 0 0 0 0 0 2 1] [ 0 0 85 1 0 0 0 0 0 0] [ 0 0 0 82 0 3 0 2 4 0] [ 0 0 0 0 88 0 0 0 0 4] [ 0 0 0 0 0 87 1 0 0 3] [ 0 1 0 0 0 0 90 0 0 0] [ 0 0 0 0 0 1 0 88 0 0] [ 0 0 0 0 0 0 0 0 88 0] [ 0 0 0 1 0 1 0 0 0 90]] |
横軸は予想値、縦軸は正解値となっています。これにより0の場合は87すべて正解、1の場合は87正解、1誤り。誤った数字は6と判断してしまったことが分かります。