首页 > 试题广场 >

rf和gbdt基分类器区别,里面的决策树分别长啥样,怎么剪枝

[问答题]

rf和gbdt基分类器区别,里面的决策树分别长啥样,怎么剪枝

仅供参考。

模型

RF

传统GBDT

XGBoost

基分类器

分类树、回归树

回归树,但也可以解决分类问题(设置阈值)

回归树、线性分类器(LR)、线性回归

节点分裂的方式

ID3用信息增益,C4.5用信息增益率,CART分类用基尼指数,CART回归用选择最优切分特征和值对(j,s)

选择最优切分特征和值对(j,s)

优化推导,详见附注

cost函数

-

只用到一阶导数信息(梯度)

代价函数加入正则项(树的叶子节点个数、每个叶子节点上输出的scoreL2模的平方和),且同时用到了一阶g和二阶导数h

行采样与列采样

自采样(样本随机)和属性随机(每个节点都会随机选择一些特征),详见附注

-

支持行采样、列采样

集成方法

bagging

boosting

boosting

并行化处理

树并行生成

树串行生成

树串行生成,特征粒度上的并行,各个特征的增益计算可以开多线程进行

附注:

1xgboost的节点分裂方式


2)RF列采样

该图是random forest算法建立一棵树的伪代码。第一行表示创造一个新节点。第5行表示随机选取一些特征。之后在10-11行表示递归创造该节点的左右子节点,于是每个子节点又会随机选取不同的特征。注意:不是每棵树选相同的子特征,也不是每棵树随机选不同的子特征,而是每个节点都会随机选择一些特征。根据经验,这个选择子特征的个数的经验值一般是原特征个数的平方根(分类问题)或原特征个数的三分之一(回归问题)



发表于 2019-07-10 15:18:51 回复(0)
决策树那写错了,名义变量才不需要哑变量。。。
发表于 2019-11-04 07:55:15 回复(0)
random foreast对输入数据进行行采样和列采样

行采样就是采用有放回的方式,也就是在才用得到的样本集合中,可能有重复的样本。假设输入样本为N个,那么采样的样本也为N个。这样使得在训练的时候,每一棵数的输入都不是全部的样本,使得相对不容易出现over-fitting.

然后采用列采样,从M个feature中,选择m个(m<<M),这样的好处就是说每一个决策树就是精通于不同领域的专家(因为他们的特征不一样
发表于 2019-04-22 15:01:58 回复(0)