平均分位数损失#
- sklearn.metrics.mean_pinball_loss(y_true, y_pred, *, sample_weight=None, alpha=0.5, multioutput='uniform_average')[源代码]#
分位数回归的Pinball损失。
更多信息请阅读用户指南。
- 参数:
- y_truearray-like,形状为 (n_samples,) 或 (n_samples, n_outputs)
真实目标值。
- y_predarray-like,形状为 (n_samples,) 或 (n_samples, n_outputs)
预测的目标值。
- sample_weightarray-like,形状为 (n_samples,),默认为 None
样本权重。
- alpha浮点数,Pinball损失的斜率,默认为 0.5
当
alpha=0.5
时,此损失等效于平均绝对误差;alpha=0.95
时,由第95百分位数的估计量最小化。- multioutput{'raw_values', 'uniform_average'} 或形状为 (n_outputs,) 的 array-like,默认为 'uniform_average'
定义多个输出值的聚合方式。Array-like 值定义用于平均误差的权重。
- ‘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)
示例#
scikit-learn 1.0 版本亮点
直方图梯度提升树的功能
梯度提升回归的预测区间
时间序列预测的滞后特征