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 von inf einen großen Wert zurückgeben, wenn y_true Null 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