d2_pinball_score#
- sklearn.metrics.d2_pinball_score(y_true, y_pred, *, sample_weight=None, alpha=0.5, multioutput='uniform_average')[原始碼]#
\(D^2\) 回歸分數函數,解釋的 pinball 損失分數。
最佳可能分數為 1.0,且可能為負值(因為模型可能任意更差)。一個總是使用
y_true
的經驗 alpha 分位數作為常數預測,而忽略輸入特徵的模型,其 \(D^2\) 分數為 0.0。請參閱 使用者指南 以了解更多資訊。
在 1.1 版本中新增。
- 參數:
- y_truearray-like,形狀為 (n_samples,) 或 (n_samples, n_outputs)
真實(正確)目標值。
- y_predarray-like,形狀為 (n_samples,) 或 (n_samples, n_outputs)
估計的目標值。
- sample_weightarray-like,形狀為 (n_samples,),預設值=None
樣本權重。
- alphafloat,預設值=0.5
pinball 偏差的斜率。它決定 pinball 偏差和 D2 最佳化的分位數級別 alpha。預設值
alpha=0.5
等同於d2_absolute_error_score
。- multioutput{'raw_values', 'uniform_average'} 或 array-like,形狀為 (n_outputs,),預設值='uniform_average'
定義多個輸出值的聚合方式。array-like 值定義用於平均分數的權重。
- ‘raw_values’
在多輸出輸入的情況下,返回完整的錯誤集。
- ‘uniform_average’
所有輸出的分數以均勻權重平均。
- 返回:
- scorefloat 或浮點數的 ndarray
帶有 pinball 偏差的 \(D^2\) 分數,或者如果
multioutput='raw_values'
則為分數的 ndarray。
注意事項
與 \(R^2\) 類似,\(D^2\) 分數可能為負值(它實際上不一定是量 D 的平方)。
此度量對於單個點來說沒有明確定義,如果 n_samples 小於 2,將返回 NaN 值。
參考文獻
[1][2]Hastie, Trevor J., Robert Tibshirani 和 Martin J. Wainwright 的 “Statistical Learning with Sparsity: The Lasso and Generalizations.” (2015) 的方程式 (3.11)。https://hastie.su.domains/StatLearnSparsity/
範例
>>> from sklearn.metrics import d2_pinball_score >>> y_true = [1, 2, 3] >>> y_pred = [1, 3, 3] >>> d2_pinball_score(y_true, y_pred) np.float64(0.5) >>> d2_pinball_score(y_true, y_pred, alpha=0.9) np.float64(0.772...) >>> d2_pinball_score(y_true, y_pred, alpha=0.1) np.float64(-1.045...) >>> d2_pinball_score(y_true, y_true, alpha=0.1) np.float64(1.0)