tgboost icon indicating copy to clipboard operation
tgboost copied to clipboard

离散变量该如何split?

Open liudragonfly opened this issue 6 years ago • 4 comments

代码里this_threshold = (cur_value + nxt_value) / 2.0 如果当前列是离散值 tgboost是不是还不支持? 另外Y.hess.sum() < self.min_child_weight为何用二阶导数的sum作为判定标准没有想明白。谢谢你。

liudragonfly avatar Sep 12 '17 13:09 liudragonfly

同问,Y.hess.sum() < self.min_child_weight 这个不太明白。看到知乎上有讨论,回复有一个说是用Y.grad.sum()来比较,原因是此时对loss的影响非常小,没有必要在分裂下去。

xgboost官方文档上解释的是:minimum sum of instance weight 但是没有说明instance weight是指的什么。

gutouyu avatar Feb 28 '18 06:02 gutouyu

@gutouyu xgboost参数文档有说是hess https://github.com/dmlc/xgboost/blob/master/doc/parameter.md 你可以看一下这个 另外知乎的链接能发下嘛?

liudragonfly avatar Feb 28 '18 09:02 liudragonfly

@gutouyu 我又看了下楼主最原始的python实现 应该是不支持category

liudragonfly avatar Feb 28 '18 10:02 liudragonfly

@liudragonfly 好的,非常感谢~
https://www.zhihu.com/question/68621766 这个是知乎的连接

我现在有点晕,对于category你说的支持是什么意思那?直接按照连续值来处理,分箱、划分等这样算是支持不?

gutouyu avatar Mar 01 '18 06:03 gutouyu