0

2 つの異なるリスト: gold_labels と予測されたラベルを使用して、sci-kit Learn で混同行列を作成しています。

cm = confusion_matrix(gold_labels, predicted_labels)
pl.matshow(cm) #I use pl to generate an image
pl.title('Confusion Matrix')
pl.ylabel('True label')
pl.xlabel('Predicted label')
pl.colorbar()

ゴールドラベル/予測ラベルは次のようになります: (文字列のリスト)

gold_labels =["hello", "apple".....] 
predicted_labels=["hi", "apple"....]

混同行列が生成され、見た目はきれいですが、ラベルはインデックス (0,1,2) であり、0 が "hello" または "apple" にマップされるかどうかわかりません。したがって、2 つの質問があります。 pl で生成された混同行列にラベルを表示する方法

4

1 に答える 1

1

plt.xticksおよびplt.yticks関数を呼び出すだけです。

最初に、目盛りを軸上に配置する場所を選択する必要があり、次にラベルを設定する必要があります。

例: から までの範囲の軸xがあり、 、 、およびに3 つの目盛りが必要で、ラベル、、が必要であるとします。52581522foobarbaz

次に、次のように呼び出します。

# do your plotting first, for example
x = np.arange(5, 25)
y = x * x
plt.plot(x, y)
# and then the ticks
plt.xticks([8, 15, 22], ['foo', 'bar', 'baz'])
# And finally show the plot
plt.show()

あなたの場合、あなたのラベルの目盛りはであり[0, 1, 2]、あなたが望むのでhello、あなたのラベルとして。やったほうがいい:appleorange

plt.xticks([0, 1, 2], ['hello', 'apple', 'orange'])
于 2013-08-23T18:10:44.603 に答える