一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第4天,点击查看活动详情。
1、ID3、C4.5、CART树的算法思想
ID3算法的核心是在决策树的每个节点上应用信息增益准则选择特征,递归地构架决策树。
C4.5算法的核心是在生成过程中用信息增益比来选择特征。
- 经验熵 刻画了对数据集进行分类的不确定性。
- 经验条件熵 刻画了在特征 A 给定条件下,对数据集分类的不确定性。
- 信息增益 刻画了由于特征 A 的确定,从而使得对数据集的分类的不确定性减少的程度。
信息增益:数据集 D 的经验熵与关于特征 A 的经验条件熵的差值。
2、ID3、C4.5、CART树分裂依据的公式
ID3算法分类依据:信息增益:经验熵 - 经验条件熵
经验熵
经验条件熵
信息增益
C4.5算法分类依据:信息增益比
其中,数据集D关于特征A的经验熵为
Cart树算法分类依据:基尼指数
3、为什么信息增益比比信息增益好?
因为信息增益会倾向于取值较多的特征,信息增益比本质上是对信息增益乘以一个加权系数,可以在一定程度上对取值较多的特征进行惩罚,避免ID3出现过拟合,提升决策树的泛化能力。
4、ID3、C4.5、CART树的区别
三种树的分裂依据不同。
ID3只能处理离散型变量;C4.5和CART都可以处理连续型变量。
ID3对缺失值比较敏感;C4.5和CART都可以处理缺失值。
ID3和C4.5只能用于分类任务,CART既可以分类,也可以回归。
ID3和C4.5可以在每个节点上产生多叉分支,且每个特征在层级之间不会复用,CART每个节点只会产生两个分支,因此会形成二叉树,且每个特征可以被重复使用。
5、随机森林的大致过程和优缺点
随机森林是一种基于bagging的分类算法,它通过自助法(bootstrap)重采样技术,从原始训练样本集D中有放回地重复随机抽取n个样本生成新的训练样本集合训练决策树,然后按以上步骤生成m棵决策树组成随机森林,新数据的分类结果按分类树投票多少形成的分数而定。
随机森林大致过程如下:
1)从样本集中有放回随机采样选出n个样本;
2)从所有特征中随机选择k个特征,对选出的样本利用这些特征建立决策树(一般是CART,也可是别的或混合);
3)重复以上两步m次,即生成m棵决策树,形成随机森林;
4)对于新数据,经过每棵树决策,最后投票确认分到哪一类。
随机森林是一种基于bagging的分类算法,它通过自助法(bootstrap)重采样技术,从原始训练样本集D中有放回地重复随机抽取n个样本生成新的训练样本集合训练决策树,然后按以上步骤生成m棵决策树组成随机森林,新数据的分类结果按分类树投票多少形成的分数而定。
随机森林大致过程如下:
1)从样本集中有放回随机采样选出n个样本;
2)从所有特征中随机选择k个特征,对选出的样本利用这些特征建立决策树(一般是CART,也可是别的或混合);
3)重复以上两步m次,即生成m棵决策树,形成随机森林;
4)对于新数据,经过每棵树决策,最后投票确认分到哪一类。
优点:
每棵树都选择部分样本及部分特征,一定程度避免过拟合;
训练速度快,适合并行计算;
数据无需进行归一化
缺点:
黑盒模型,不好解释。
6、随机森林和GBDT区别
随机森林采用的bagging思想,而GBDT采用的boosting思想。这两种方法都是Bootstrap思想的应用,Bootstrap是一种有放回的抽样方法思想。虽然都是有放回的抽样,但二者的区别在于:Bagging采用有放回的均匀取样,而Boosting根据错误率来取样(Boosting初始化时对每一个训练样例赋相等的权重1/n,然后用该算法对训练集训练t轮,每次训练后,对训练失败的样例赋以较大的权重),因此Boosting的分类精度要优于Bagging。Bagging的训练集的选择是随机的,各训练集之间相互独立,弱分类器可并行,而Boosting的训练集的选择与前一轮的学习结果有关,是串行的。
组成随机森林的树可以是分类树,也可以是回归树;而GBDT只能由回归树组成。
组成随机森林的树可以并行生成;而GBDT只能是串行生成。对于最终的输出结果而言,随机森林采用多数投票等;而GBDT则是将所有结果累加起来,或者加权累加起来。
随机森林对异常值不敏感;GBDT对异常值非常敏感。
随机森林对训练集一视同仁;GBDT是基于权值的弱分类器的集成。随机森林是通过减少模型方差提高性能;GBDT是通过减少模型偏差提高性能。