Scikit-learn: 添加线性分位数回归

创建于 2014-05-13  ·  17评论  ·  资料来源: scikit-learn/scikit-learn

似乎python中带有分位数回归的包并不多...

最有用的评论

大家好! 请在您有时间的时候查看我的 PR。

所有17条评论

似乎python中带有分位数的包不是很多
回归...

为什么要进入 scikit-learn?

如果可能,为什么不呢?

因为我们已经有很多代码需要维护,而且我们只包含流行的 ML 算法。 这个流行吗? 与其他方法相比,它对机器学习任务有明显的好处吗?

(顺便说一句。大众有分位数回归,损失 ℓ(p,y) = τ(p - y)[[y ≤ p]] + (1 - τ)(y - p)[[y ≥ p]] 其中 [ [⋅]] 是艾弗森括号。)

GradientBoostingRegressor支持分位数回归(使用loss=quantilealpha参数)。 有关示例,请参见http://scikit-learn.org/dev/auto_examples/ensemble/plot_gradient_boosting_quantile.html#example -ensemble-plot-gradient-boosting-quantile-py。

我应该检查一下。 关闭这个问题。

虽然我不同意 Python 上的 Quantile Regression 软件包并不多,但我相信在 sci-kit learn 上拥有纯 Quantile Regression(不在 Ensemble 方法中)很重要。

分位数回归具有针对 y 的特定分位数的优势。 这样,可以减少 y_pred 和 y 的中位数的差异。 在这种情况下,它类似于最小化绝对误差,但它更通用,适用于其他分位数。

银行在处理信用评分和其他模型时经常使用此模型,因此它是一个经过实战考验的模型,具有实际应用。 R 和 SAS 实现了这个模型。

@prcastro您是指线性模型吗?

确切地。 今天,sklearn 在集成方法上实现了分位数回归。 但是,它通常用作常规线性模型。

我愿意添加它。 @jnothman @GaelVaroquaux?

它似乎确实相当成立

我愿意添加它。 @jnothman @GaelVaroquaux?

没有反对。 我们只需要一个好的公关,还有时间来审查它。

关于中位数(绝对损失)的分位数回归的具体情况,与更一般的分位数相反,似乎http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.HuberRegressor.html将允许如果我们可以通过 epsilon=0.0。 为什么 HuberRegressor 需要epsilon : float, greater than 1.0 ? ( The Huber Regressor optimizes the squared loss for the samples where |(y - X'w) / sigma| < epsilon and the absolute loss for the samples where |(y - X'w) / sigma| > epsilon. )

epsilon=0 的 Huber loss 是一个非平滑优化问题:一个
不能使用同一类求解器。

我在上面的拉取请求中添加了经典的分位数线性回归。 请审查它!

大家好! 请在您有时间的时候查看我的 PR。

似乎python中带有分位数回归的包并不多...

他们不会听它的 2020 年,但我们仍然没有适当的 qunatile 回归包

此页面是否有帮助?
0 / 5 - 0 等级