Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich bei der Berechnung des F-Scores in Scikit-learn eine „UndefinedMetricWarning'?

Warum erhalte ich bei der Berechnung des F-Scores in Scikit-learn eine „UndefinedMetricWarning'?

Barbara Streisand
Barbara StreisandOriginal
2024-11-25 10:19:14645Durchsuche

Why Am I Getting an

Fehlerbehebung bei „UndefinedMetricWarning“ bei der F-Score-Berechnung

Sklearns F-Score-Metrik kann manchmal eine „UndefinedMetricWarning“ auslösen, wenn Beschriftungen vorhanden sind die Ground-Truth-Daten (y_test), die nicht vorhergesagt wurden (y_pred). Dies liegt daran, dass der F-Score für Etiketten ohne vorhergesagte Stichproben undefiniert ist. In solchen Fällen wird der Score auf 0,0 gesetzt.

In Ihrem Fall ist Ihnen vielleicht aufgefallen, dass der Fehler nur bei der ersten Ausführung auftritt und nicht danach. Dies liegt daran, dass Warnungen standardmäßig nur einmal angezeigt werden. Sie können dieses Verhalten ändern, indem Sie die Funktion warnings.filterwarnings() auf „immer“ setzen, um jedes Mal Warnungen anzuzeigen.

Um die Warnung zu vermeiden, haben Sie zwei Möglichkeiten:

  1. Labels ohne Vorhersagen ignorieren: Geben Sie die Labels an, an denen Sie interessiert sind, indem Sie den Labels-Parameter auf die eindeutigen Werte in y_pred setzen. Dadurch werden Labels ohne vorhergesagte Stichproben ausgeschlossen und die Warnung verschwindet:
import numpy as np

metrics.f1_score(y_test, y_pred, average='weighted', labels=np.unique(y_pred))
  1. Behandeln Sie undefinierte Metriken explizit: Wenn Sie undefinierte Metriken in einer benutzerdefinierten Version verarbeiten möchten Auf diese Weise können Sie den Parameter error_score verwenden, um undefiniert einen bestimmten Wert (z. B. -1, 0 oder NaN) zuzuweisen Metriken.

Was die nachfolgende Fehlermeldung „precision“, „predicted“, Average, warn_for) betrifft, handelt es sich um einen Fehler in scikit-learn 0.18.1, der in späteren Versionen behoben wurde. Die Fehlermeldung sollte sich nicht auf Ihre Ergebnisse auswirken.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich bei der Berechnung des F-Scores in Scikit-learn eine „UndefinedMetricWarning'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn