2017-12-06 7 views
2

私はビンを持ち、ラベルは 'points'でなければなりませんが、ラベルは90以上の点として表示され、90以下の点は私のビンごとに表示されます。ここに私のコードです。混同行列はaとbをラベルとして生成しますが、必要なものは生成しません

print(y_test.values) 
cm = confusion_matrix(y_test.values, preds) 
def plot_confusion_matrix(cm, classes, 
         normalize=False, 
         title='Confusion matrix', 
         cmap=plt.cm.Blues): 
""" 
This function prints and plots the confusion matrix. 
Normalization can be applied by setting `normalize=True`. 
""" 
if normalize: 
    cm = cm.astype('float')/cm.sum(axis=1)[:, np.newaxis] 
    print("Normalized confusion matrix") 
else: 
    print('Confusion matrix, without normalization') 

print(cm) 

plt.imshow(cm, interpolation='nearest', cmap=cmap) 
plt.title(title) 
plt.colorbar() 
tick_marks = np.arange(len(classes)) 
plt.xticks(tick_marks, classes, rotation=45) 
plt.yticks(tick_marks, classes) 

fmt = '.2f' if normalize else 'd' 
thresh = cm.max()/2. 
for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])): 
    plt.text(j, i, format(cm[i, j], fmt), 
      horizontalalignment="center", 
      color="white" if cm[i, j] > thresh else "black") 
plt.tight_layout() 
plt.ylabel('True label') 
plt.xlabel('Predicted label') 
plt.figure() 
plot_confusion_matrix(cm) 
plt.show() 

そしてここでaとbの代わりに、下記の点と、私はこの質問のための最善のアプローチであると考えているいくつかのことを観察したモデルを通る作動 enter image description here

+1

以下のように、私は私の混同行列のプロットを得るために、私のコードを変更しました。 https://matplotlib.org/api/_as_gen/matplotlib.pyplot.xticks.html#xticksの位置とラベルを設定する xticks(arange(5)、( 'Tom'、 'Dick'、 'Harry'、 ' Sally '、' Sue ')) –

+0

@ArunJoyThekkiniyath、もし私がラベルを渡したくなければ、自動的にモデルにフェッチするよう指示する方法はありますか? –

+0

ラベルはオプションのフィールドですが、単にそれを渡さないでください。 –

答えて

1

上記の点を示し、私のグラフです。私はこの質問をクリアしたいと思っていたのかもしれません。

私は1枚のラベルからビンを作成していたので、ラベルはポイントと私が作成した ビンが「90以下の点」「90上記の点」とはので、これらの はのラベルだったでしたグラフは 'a'と 'b'の代わりに値を表示する必要がありました。上記の場合、私は ビンの作成中にデータのバランスをとっていました。したがって

あなたはxticksに、AとBを渡すかもしれない

plt.tight_layout() 
plt.ylabel('True label') 
plt.xlabel('Predicted label') 
plt.figure() 
plot_confusion_matrix(cm,['points above 90', 'points below 90']) 

enter image description here

関連する問題