似乎python中带有分位数回归的包并不多...
似乎python中带有分位数的包不是很多
回归...
为什么要进入 scikit-learn?
如果可能,为什么不呢?
因为我们已经有很多代码需要维护,而且我们只包含流行的 ML 算法。 这个流行吗? 与其他方法相比,它对机器学习任务有明显的好处吗?
(顺便说一句。大众有分位数回归,损失 ℓ(p,y) = τ(p - y)[[y ≤ p]] + (1 - τ)(y - p)[[y ≥ p]] 其中 [ [⋅]] 是艾弗森括号。)
GradientBoostingRegressor
支持分位数回归(使用loss=quantile
和alpha
参数)。 有关示例,请参见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 回归包
最有用的评论
大家好! 请在您有时间的时候查看我的 PR。