2016-05-22 6 views
0

6つのクラスのコンフュージョンマトリックスを構築しており、マトリックスをプロットするためのベースコードとしてscikit_learn confusion matrixを使用しています。 リニアSVMクラシファイアを再トレーニングするたびに、各トレーニングセッションごとにコンフュージョンマトリックスが変更されるという問題に直面しています。予測されるラベルの数は同じであり、同じではありません。真のラベルの数は、すべてのインターラクションで同じままです。私は混乱マトリックスがこのように変化している理由を理解できません。対角要素も意味をなさない。すべてのインターアクションで変化するコンフュージョンマトリックス

私は何をすべきか教えてください。

def plot_confusion_matrix(cm, title='Confusion matrix', cmap=plt.cm.Blues): 
    plt.imshow(cm, interpolation='nearest', cmap=cmap) 
    plt.title(title) 
    plt.colorbar() 
    tick_marks = np.arange(6) 
    plt.xticks(tick_marks, names, rotation=45) 
    plt.yticks(tick_marks, names) 
    plt.tight_layout() 
    plt.ylabel('True label') 
    plt.xlabel('Predicted label') 
    # this is the main function i am using 
    # here names is a list of six titles e.g. names = ['a', 'b', 'c', 'd', 'e', 'f'] 


#Following is the code that I am using to call the function 
cm = confusion_matrix(labels_test, predicted) 
np.set_printoptions(precision=2) 
print('Confusion matrix, without normalization') 
print(cm) 
plt.figure() 
plot_confusion_matrix(cm) 
cm_normalized = cm.astype('float')/cm.sum(axis=1)[:, np.newaxis] 
print('Normalized confusion matrix') 
print(cm_normalized) 
plt.figure() 
plot_confusion_matrix(cm_normalized, title='Normalized confusion matrix') 
plt.show() 

答えて

0

混同行列は、分類子がどこでうまくいくか(真の陽性)、どこでないか(偽陽性)を理解できるようにします。

混乱行列の対角線は、特定のクラスが正しく分類された回数を示します(真陽性)。

データセットを再学習すると、分類子が繰り返しから変更されたようです。したがって、真陽性/偽陽性/真陰性/偽陰性の数は異なる可能性があります。

+0

私は、すべての特徴ベクトルセットとSVMパラメータが一定のままであれば、クラシファイア自体は同じままであるという考えがありました。分類レポートは毎回同じであるが、confであることが分かる。行列は変化する。 – nainometer

+0

必ずしもそうではありません。多くのことに依存します。詳細を提供する必要があります。オンラインのドキュメンテーションを見ると、LinearSVCはmulti_class = 'crammer_singer'というオプションを使用して、CrammerとSingerによって策定された、いわゆるマルチクラスSVMである代替マルチクラス戦略も実装していることに注意してください。実際には、結果はほとんど同じですが、ランタイムが大幅に少なくなるため、通常は1対のレスト分類が好まれます。 – mattsap

+0

私は "multi_class = crammer_singer"オプションでSVMのトレーニングを試みました。 Linear SVCがトレーニングフェーズで勤務していたときにはしばらく時間がかかりました。しかし、最終的に私はそれをプロットするときに混乱の行列はまだ変化しています。あなたが私の特定の問題についてより多くの情報を伝えることができるように、連絡先情報をいくつか教えてもらえますか? – nainometer

関連する問題