平均 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)