平均 Pinball 損失#

sklearn.metrics.mean_pinball_loss(y_true, y_pred, *, sample_weight=None, alpha=0.5, multioutput='uniform_average')[來源]#

分位數迴歸的 Pinball 損失。

請參閱使用手冊以了解更多資訊。

參數:
y_true形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類陣列

真實(正確)目標值。

y_pred形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類陣列

估計的目標值。

sample_weight形狀為 (n_samples,) 的類陣列,預設值為None

樣本權重。

alphafloat,Pinball 損失的斜率,預設值為 0.5

alpha=0.5 時,此損失等效於平均絕對誤差alpha=0.95 由第 95 個百分位數的估計器最小化。

multioutput{‘raw_values’, ‘uniform_average’} 或 形狀為 (n_outputs,) 的類陣列,預設值為 ‘uniform_average’

定義多個輸出值的聚合方式。類陣列值定義用於平均誤差的權重。

‘raw_values’

在多輸出輸入的情況下,傳回完整的誤差集。

‘uniform_average’

所有輸出的誤差以均勻權重平均。

傳回:
loss浮點數或浮點數的 ndarray

如果 multioutput 為 ‘raw_values’,則會針對每個輸出分別傳回平均絕對誤差。如果 multioutput 為 ‘uniform_average’ 或權重的 ndarray,則會傳回所有輸出誤差的加權平均值。

Pinball 損失輸出是一個非負浮點數。最佳值為 0.0。

範例

>>> from sklearn.metrics import mean_pinball_loss
>>> y_true = [1, 2, 3]
>>> mean_pinball_loss(y_true, [0, 2, 3], alpha=0.1)
np.float64(0.03...)
>>> mean_pinball_loss(y_true, [1, 2, 4], alpha=0.1)
np.float64(0.3...)
>>> mean_pinball_loss(y_true, [0, 2, 3], alpha=0.9)
np.float64(0.3...)
>>> mean_pinball_loss(y_true, [1, 2, 4], alpha=0.9)
np.float64(0.03...)
>>> mean_pinball_loss(y_true, y_true, alpha=0.1)
np.float64(0.0)
>>> mean_pinball_loss(y_true, y_true, alpha=0.9)
np.float64(0.0)