ValueError: 分類メトリクスは、マルチクラスと連続マルチ出力ターゲットの混合を処理できません

Rohan Timalsina 2023年6月21日
  1. 1d-array を使用して、Python で ValueError: Classification metrics can't handle mix of multiclass and continuous-multioutput targets を修正する
  2. Python の ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets エラーを修正する
ValueError: 分類メトリクスは、マルチクラスと連続マルチ出力ターゲットの混合を処理できません

関数に有効な引数を指定すると 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 を処理する方法がわかりました。 これらの回答がお役に立てば幸いです。

著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

関連記事 - Python ValueError

関連記事 - Python Error