ValueError: 分類メトリクスは、マルチクラスと連続マルチ出力ターゲットの混合を処理できません
-
1d-array
を使用して、Python でValueError: Classification metrics can't handle mix of multiclass and continuous-multioutput targets
を修正する -
Python の
ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets
エラーを修正する
関数に有効な引数を指定すると Python で ValueError
が発生しますが、これは無効な値です。 たとえば、math
モジュールの sqrt()
関数に負の数を入力すると、ValueError
が返されます。
sklearn.metrics.accuracy_score()
関数で無効な配列を指定すると、エラー ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets
が発生します。 精度スコアは分類メトリックであるため、回帰問題で使用すると ValueError
もスローされる可能性があります。
このチュートリアルでは、Python でこのエラーを解決する方法を説明します。
1d-array
を使用して、Python で ValueError: Classification metrics can't handle mix of multiclass and continuous-multioutput targets
を修正する
まず、このエラーを Python で再現します。
from sklearn.metrics import accuracy_score
y_pred = [[0.5, 1], [-1, 1], [7, -6]]
y_true = [[0, 2], [-1, 2], [8, -5]]
accuracy_score(y_true, y_pred)
出力:
ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets
関数 accuracy_score()
は multiclass-multioutput 形式をサポートしていません。 関数で与えられた入力が 1d-array
でない場合、分類モデルの評価で上記のエラーが表示されます。
accuracy_score()
関数で 1d-array
を使用して解決できます。
Python の ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets
エラーを修正する
エラーの別の考えられる原因は、回帰問題に accuracy_score()
関数を使用している可能性があります。 精度スコアは回帰モデルの尺度ではありません。 分類モデル専用です。
回帰指標は R2 スコア、MSE (平均二乗誤差)、および RMSE (二乗平均平方根誤差) であり、回帰モデルのパフォーマンスを評価するために使用できます。
from sklearn.metrics import r2_score
y_pred = [[0.5, 1], [-1, 1], [7, -6]]
y_true = [[0, 2], [-1, 2], [8, -5]]
print(r2_score(y_true, y_pred))
出力:
0.9412391668996365
これで、Python で ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets
を処理する方法がわかりました。 これらの回答がお役に立てば幸いです。
関連記事 - Python ValueError
関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません