gbdt如何对连续特征离散化

  统计/机器学习 数据预处理 特征选择    浏览次数:3539        分享
0

有时候对连续特征处理时,例如年龄,需要离散化,但是不知道怎样离散化比较合适,听说gbdt可以离散化,请问是怎样实现的?

 

无限不循环   2017-10-30 11:25



   1个回答 
1

我抛砖引玉一下。

对连续特征离散化是决策树本身就可以做到的,而不是非要gradient boost。

决策树是这样做的。

  • 首先对这个连续变量排序。比如说年龄,把所有样本中年龄的数值从小到大排序。
  • 在数据没有重复的假设下,如果有n个样本,那么排序后的数据之间应该有n-1个间隔。
  • 决策树会对这n-1个间隔进行逐一尝试(分叉),每个不同的分叉,会带来不同的gini指数,我们最终选gini指数最小的那个分叉作为最优分叉。

理论上是这样进行的,但是实际情况是为了一些计算优化,可能会进行一些随机搜索,而不一定是遍历。

上面这个过程就把那个连续变量进行了一分为二(第一次离散化),比如说年龄被分成了0到20岁,20到100岁。

接下来,当决策树继续生长时,之前一分为二的连续特征可能会再次被选中。比如说20到100岁这个分叉被选中,我们再次重复上面那三个步骤。这次得到的结果可能是20到35,35到100岁。


以此反复,这样一个连续变量就不停地被离散化,直到模型达到停止的条件。



SofaSofa数据科学社区DS面试题库 DS面经

弼码温   2017-10-30 12:01



  相关主题

怎么理解lightgbm中的直方图法选择分裂点?   1回答

随机森林给出的变量的Importance是怎么来的   2回答

对于树模型,需不需要特征筛选   2回答

对于数值特征,决策树是如何决定阈值的?   3回答

怎么理解决策树是模型自己在做interaction?   2回答

关于为什么要用GBDT的疑问   1回答

gbdt为什么需要泰勒公式展开进行节点分裂计算   2回答

adaboost里的feature importance和随机森林里的feature importance是一回事吗?   1回答

为什么特征重要性约大,在决策树里分裂的顺序却是越靠后呢?   1回答

决策树、随机森林中的多重共线性问题   3回答

随机森林每次用多少个特征?   2回答

请教lightGBM中的level wise具体计算步骤是怎样的?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!