我想为我训练过的 lightgbm 模型计算每个样本的置信区间。
如果模型是一个随机森林,那就很容易了,只需取出所有的树并计算预测的标准差。
我想知道是否可以使用 lightgbm 进行类似的思考。尤其:
- 通过对所有树的预测或类似的东西来计算提升模型的标准偏差是否有意义?
- 可以在 scikit-learn 中完成吗?
- 是否有替代方法来获得 lightgbm 预测的置信区间,与训练分位数模型的替代方法不同?
我想为我训练过的 lightgbm 模型计算每个样本的置信区间。
如果模型是一个随机森林,那就很容易了,只需取出所有的树并计算预测的标准差。
我想知道是否可以使用 lightgbm 进行类似的思考。尤其:
如果您正在寻找统计技巧,我不知道,但是
最近 Andrew NG 团队最近发表了关于NGBoost的文章。
NGBoost 是一种新的提升算法,它使用自然梯度提升,一种用于概率预测的模块化提升算法。
在这个 Towards Data Science玩具示例中,您可以了解如何使用Python API:
引用 TDS 作者的话:
NGBoost 与其他 boosting 算法的最大区别之一是可以返回每个预测的概率分布。这可以通过使用 pred_dist 函数来可视化。
在他们的网站上,他们说“NGBoost 可以与任何基础学习器、任何具有连续参数的分布族以及任何评分规则一起使用。” 因此,无论您考虑什么,它似乎都非常灵活。