explained_variance_score#
- sklearn.metrics.explained_variance_score(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average', force_finite=True)[source]#
Erklärte Varianz-Regressions-Score-Funktion.
Der bestmögliche Score ist 1.0, niedrigere Werte sind schlechter.
Im speziellen Fall, wenn
y_truekonstant ist, ist der Explained Variance Score nicht endlich: er ist entwederNaN(perfekte Vorhersagen) oder-Inf(unvollkommene Vorhersagen). Um zu verhindern, dass solche nicht-endlichen Zahlen höherstufige Experimente wie Grid-Search-Kreuzvalidierung "verschmutzen", werden diese Fälle standardmäßig durch 1.0 (perfekte Vorhersagen) bzw. 0.0 (unvollkommene Vorhersagen) ersetzt. Wennforce_finiteaufFalsegesetzt ist, fällt dieser Score auf die ursprüngliche \(R^2\)-Definition zurück.Hinweis
Der Explained Variance Score ähnelt dem
R^2 Score, aber ersterer berücksichtigt keine systematischen Abweichungen bei der Vorhersage (wie z.B. den Achsenabschnitt bei linearen Modellen, d.h. unterschiedliche Achsenabschnitte ergeben denselben Explained Variance Score). Meistens sollte derR^2 Scorebevorzugt werden.Mehr dazu im Benutzerhandbuch.
- Parameter:
- y_truearray-ähnlich mit Form (n_samples,) oder (n_samples, n_outputs)
Wahrheitsgetreue (korrekte) Zielwerte.
- y_predarray-ähnlich mit Form (n_samples,) oder (n_samples, n_outputs)
Geschätzte Zielwerte.
- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte.
- multioutput{‘raw_values’, ‘uniform_average’, ‘variance_weighted’} oder array-like der Form (n_outputs,), default=’uniform_average’
Definiert die Aggregation mehrerer Ausgabewerte. Ein Array-like-Wert definiert die Gewichte, die zur Mittelung der Scores verwendet werden.
- ‘raw_values’
Gibt einen vollständigen Satz von Scores im Falle eines Multioutput-Inputs zurück.
- ‘uniform_average’
Scores aller Ausgaben werden mit einheitlichem Gewicht gemittelt.
- ‘variance_weighted’
Scores aller Ausgaben werden gemittelt, gewichtet nach den Varianzen jeder einzelnen Ausgabe.
- force_finitebool, default=True
Flag, das angibt, ob
NaN- und-Inf-Scores, die aus konstanten Daten resultieren, durch reelle Zahlen ersetzt werden sollen (1.0bei perfekter Vorhersage, ansonsten0.0). Standard istTrue, eine praktische Einstellung für Hyperparameter-Suchverfahren (z.B. Grid-Search-Kreuzvalidierung).Hinzugefügt in Version 1.1.
- Gibt zurück:
- scorefloat oder ndarray aus floats
Die erklärte Varianz oder ein ndarray, wenn 'multioutput' 'raw_values' ist.
Siehe auch
r2_scoreÄhnliche Metrik, die jedoch systematische Abweichungen in der Vorhersage berücksichtigt.
Anmerkungen
Dies ist keine symmetrische Funktion.
Beispiele
>>> from sklearn.metrics import explained_variance_score >>> y_true = [3, -0.5, 2, 7] >>> y_pred = [2.5, 0.0, 2, 8] >>> explained_variance_score(y_true, y_pred) 0.957... >>> y_true = [[0.5, 1], [-1, 1], [7, -6]] >>> y_pred = [[0, 2], [-1, 2], [8, -5]] >>> explained_variance_score(y_true, y_pred, multioutput='uniform_average') 0.983... >>> y_true = [-2, -2, -2] >>> y_pred = [-2, -2, -2] >>> explained_variance_score(y_true, y_pred) 1.0 >>> explained_variance_score(y_true, y_pred, force_finite=False) nan >>> y_true = [-2, -2, -2] >>> y_pred = [-2, -2, -2 + 1e-8] >>> explained_variance_score(y_true, y_pred) 0.0 >>> explained_variance_score(y_true, y_pred, force_finite=False) -inf