當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn mean_absolute_percentage_error用法及代碼示例


本文簡要介紹python語言中 sklearn.metrics.mean_absolute_percentage_error 的用法。

用法:

sklearn.metrics.mean_absolute_percentage_error(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average')

平均絕對百分比誤差 (MAPE) 回歸損失。

請注意,輸出不是 [0, 100] 範圍內的百分比,值 100 並不意味著 100%,而是 1e2。此外,當y_true 很小(特定於指標)或當abs(y_true - y_pred) 很大(這對於大多數回歸指標很常見)時,輸出可以任意高。在用戶指南中閱讀更多信息。

參數

y_true形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類似數組

基本事實(正確)目標值。

y_pred形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類似數組

估計的目標值。

sample_weight形狀類似數組 (n_samples,),默認=None

樣本權重。

multioutput{‘raw_values’, ‘uniform_average’} 或類似數組

定義多個輸出值的聚合。類似數組的值定義用於平均誤差的權重。如果輸入是列表,則形狀必須是 (n_outputs,)。

‘raw_values’:

在多輸出輸入的情況下返回一整套錯誤。

‘uniform_average’:

所有輸出的誤差均采用統一的權重進行平均。

返回

loss浮點數或浮點數數組

如果多輸出為‘raw_values’,則分別返回每個輸出的平均絕對百分比誤差。如果 multioutput 是 ‘uniform_average’ 或權重數組,則返回所有輸出錯誤的加權平均值。

MAPE 輸出為非負浮點。最佳值為 0.0。但請注意,錯誤的預測可能會導致任意大的 MAPE 值,尤其是在某些 y_true 值非常接近於零的情況下。請注意,當y_true 為零時,我們返回一個大值而不是inf

例子

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

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.metrics.mean_absolute_percentage_error。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。