mean_absolute_percentage_error#
- sklearn.metrics.mean_absolute_percentage_error(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average')[Quelle]#
Mittlerer absoluter prozentualer Fehler (MAPE) für die Regression.
Beachten Sie, dass wir nicht die übliche „Prozent“-Definition verwenden: Der Prozentsatz im Bereich [0, 100] wird durch Division durch 100 in einen relativen Wert im Bereich [0, 1] umgewandelt. Somit entspricht ein Fehler von 200 % einem relativen Fehler von 2.
Lesen Sie mehr im Benutzerhandbuch.
Hinzugefügt in Version 0.24.
- 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’} oder array-ähnlich
Definiert die Aggregation mehrerer Ausgangswerte. Array-ähnliche Werte definieren Gewichte, die zur Mittelung von Fehlern verwendet werden. Wenn die Eingabe eine Liste ist, muss die Form (n_outputs,) sein.
- ‘raw_values’
Gibt einen vollständigen Satz von Fehlern im Falle einer Multioutput-Eingabe zurück.
- ‘uniform_average’
Die Fehler aller Ausgaben werden mit einheitlichem Gewicht gemittelt.
- Gibt zurück:
- lossfloat oder ndarray von Floats
Wenn multioutput „raw_values“ ist, wird der mittlere absolute prozentuale Fehler für jeden Ausgang separat zurückgegeben. Wenn multioutput „uniform_average“ oder ein ndarray von Gewichten ist, wird der gewichtete Durchschnitt aller Ausgangsfehler zurückgegeben.
Die MAPE-Ausgabe ist eine nicht-negative Fließkommazahl. Der beste Wert ist 0,0. Beachten Sie jedoch, dass schlechte Vorhersagen zu beliebig großen MAPE-Werten führen können, insbesondere wenn einige
y_true-Werte sehr nahe bei Null liegen. Beachten Sie, dass wir anstelle voninfeinen großen Wert zurückgeben, wenny_trueNull ist.
Beispiele
>>> from sklearn.metrics import mean_absolute_percentage_error >>> y_true = [3, -0.5, 2, 7] >>> y_pred = [2.5, 0.0, 2, 8] >>> mean_absolute_percentage_error(y_true, y_pred) 0.3273... >>> y_true = [[0.5, 1], [-1, 1], [7, -6]] >>> y_pred = [[0, 2], [-1, 2], [8, -5]] >>> mean_absolute_percentage_error(y_true, y_pred) 0.5515... >>> mean_absolute_percentage_error(y_true, y_pred, multioutput=[0.3, 0.7]) 0.6198... >>> # the value when some element of the y_true is zero is arbitrarily high because >>> # of the division by epsilon >>> y_true = [1., 0., 2.4, 7.] >>> y_pred = [1.2, 0.1, 2.4, 8.] >>> mean_absolute_percentage_error(y_true, y_pred) 112589990684262.48