2017-10-26 19 views
3

multilabel-indicator is not supportedのためにサポートされていませんが実行しようとしている私が取得エラーメッセージ、次のとおりです。マルチラベル・インジケータが混同行列

confusion_matrix(y_test, predictions)

y_testは形状であるDataFrameです:

Horse | Dog | Cat 
1  0  0 
0  1  0 
0  1  0 
...  ... ... 

predictionsnumpy array

[[1, 0, 0], 
[0, 1, 0], 
[0, 1, 0]] 

私は少しエラーメッセージを検索しましたが、実際に私が適用できるものが見つかりませんでした。何かヒント?

答えて

4

いいえ、confusion_matrixへの入力は、OHE(1つのホットエンコーディング)ではなく、予測のリストでなければなりません。 y_testy_predargmaxと電話すると、あなたが期待するものを得ることができます。

confusion_matrix(y_test.values.argmax(axis=1), predictions.argmax(axis=1)) 

array([[1, 0], 
     [0, 2]]) 
+0

OHEとは何ですか? – Julius

+1

@Juliusワンホットエンコーディング。 –

4

混同行列は、(ワンホットエンコーディングではなく)ラベルのベクトルを取ります。実行する必要があります

confusion_matrix(y_test.values.argmax(axis=1), predictions.argmax(axis=1)) 
関連する問題