ValueError: Klassifizierungsmetriken können eine Mischung aus Multiclass- und Continuous-Multioutput-Zielen nicht verarbeiten

Rohan Timalsina 21 Juni 2023
  1. Verwenden Sie 1d-array, um ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets in Python zu beheben
  2. Beheben Sie den Fehler ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets in Python
ValueError: Klassifizierungsmetriken können eine Mischung aus Multiclass- und Continuous-Multioutput-Zielen nicht verarbeiten

Der ValueError wird in Python ausgelöst, wenn Sie einer Funktion ein gültiges Argument übergeben, es sich aber um einen ungültigen Wert handelt. Beispielsweise erhalten Sie den ValueError, wenn Sie eine negative Zahl in die sqrt()-Funktion eines math-Moduls eingeben.

Der Fehler ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets tritt auf, wenn Sie in der Funktion sklearn.metrics.accuracy_score() ein ungültiges Array angeben. Da der Genauigkeitswert eine Klassifizierungsmetrik ist, kann der ValueError auch geworfen werden, wenn Sie ihn mit Regressionsproblemen verwenden.

In diesem Tutorial lernen Sie, diesen Fehler in Python zu beheben.

Verwenden Sie 1d-array, um ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets in Python zu beheben

Zuerst werden wir diesen Fehler in Python reproduzieren.

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)

Ausgang:

ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets

Die Funktion accuracy_score() unterstützt das Multiclass-Multioutput-Format nicht. Wenn die Eingabe in der Funktion nicht 1d-array ist, zeigt sie den obigen Fehler in der Auswertung des Klassifizierungsmodells an.

Sie können es mit dem 1d-array in der Funktion accuracy_score() lösen.

Beheben Sie den Fehler ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets in Python

Eine weitere mögliche Fehlerursache könnte sein, dass Sie die Funktion accuracy_score() für die Regressionsprobleme verwenden. Der Genauigkeitswert ist kein Maß für Regressionsmodelle; es ist nur für Klassifikationsmodelle.

Die Regressionsmetriken sind R2-Score, MSE (Mean Squared Error) und RMSE (Root Mean Squared Error), die verwendet werden können, um die Leistung eines Regressionsmodells zu bewerten.

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))

Ausgang:

0.9412391668996365

Jetzt wissen Sie, wie Sie mit ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets in Python umgehen. Wir hoffen, dass Sie diese Antworten hilfreich finden.

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

Verwandter Artikel - Python ValueError

Verwandter Artikel - Python Error