web-dev-qa-db-ja.com

混同マトリックスでは、マルチラベルインジケーターはサポートされていません

_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
...     ...   ...
_

predictionsは_numpy array_です:

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

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

16
Khaine775

いいえ、 confusion_matrix への入力は、OHE(1つのホットエンコーディング)ではなく、予測のリストである必要があります。 y_testおよびy_predargmaxを呼び出すと、期待どおりの結果が得られます。

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

array([[1, 0],
       [0, 2]])
33
cs95

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

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