首页 > 解决方案 > 如何在 sklearn 的 HistGradientBoostingClassifier 中构造直方图以决定最佳分割点

问题描述

lightgbm 和 sklearn 的 HistGradientBoostingClassifier 估计器都使用直方图来决定连续特征的最佳分割。

是否可以直观地(或通过一些示例)解释直方图创建的过程以及它如何帮助在节点处确定更快的分割点。

我在互联网上广泛寻找答案,但找不到任何简单或直观的方法来构造直方图。

标签: xgboostlightgbm

解决方案


我不确定,但这可能与 XGBoost 中(独特的)回归树的构造方式有关。对于连续特征,您构建一个直方图,决定拆分(例如重量 < 70kg),构建一个回归树并计算相似度得分以及增益。然而,当连续特征中的值的范围非常大时,尝试所有可能的分割值在计算上是非常昂贵的。在这种情况下,XGBoost 基本上通过使用分位数来进行拆分,这涉及将所有观察结果分成大小相等的集合。

我猜 sklearn 的 HistGradientBoostingClassifier 可能也涉及上述工具优化,以提供最佳分割。


推荐阅读