机器学习/数据挖掘面试问题——第4章 决策树

学习路线参考《机器学习》周志华

其他参考书:《机器学习实战》《数据挖掘》《百面机器学习》

还在更新ing...

1.决策树的基本流程是什么?

一棵决策树包含一个根结点,若干内部结点和叶结点,叶结点对应决策结果,其他每个结点对应于一个属性测试。根结点包含样本全集,每个结点包含的样本集合根据属性测试的结果被划分到子结点中,从根结点到每个结点的路径对应一个判定测试序列。

2.决策树有哪几种划分准则?

根据信息增益划分、根据增益率划分、根据基尼指数划分。

2.1 信息熵是什么?

信息熵是度量样本集合纯度的一种指标,p_k为样本集合D中第k类样本所占的比例

Ent(D)=-\sum_{k=1}^{|\gamma|}p_k\log_2p_k

Ent(D)越小,D的纯度越高

2.2 什么是信息增益?什么算法采用这种划分准则?

假设离散属性a有V个可能取值,若使用a来对D进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为a^v的样本,记为D^v,用属性a对D划分后得到的信息增益为

Gain(D,a)=Ent(D)-\sum_{v=1}^V\frac{|D^v|}{|D|}Ent(D^v)

信息增益越大,表明使用属性a来进行划分所获得的纯度提升越大。但是,信息增益准则对可取值数目较多的属性有所偏好,为此引入增益率。

ID3算法采用信息增益为准则。

2.3 什么是增益率?什么算法采用这种划分准则?

GainRatio(D,a)=\frac{Gain(D,a)}{IV(a)}

IV(a)=-\sum_{v=1}^V\frac{|D^v|}{|D|}log_2\frac{|D^v|}{|D|}

IV(a)称为a的固有值,属性a的可能取值越多,IV(a)越大。

C4.5算法采用增益率为划分准则。
增益率准则对可取值数目较少的属性有所偏好,因此C4.5算法先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

2.4 什么是基尼指数?什么算法采用这种划分准则?

数据集D的基尼值为

Gini(D)=\sum_{k=1}^{|\gamma|}\sum_{k'\neq k}p_kp_{k'}=1-\sum_{k=1}^{|\gamma|}p_k^2

Gini(D)反映从D中随机抽取两个样本,其类别不一致的概率,值越小,D的纯度越高。

CART决策树算法采用这种划分准则。

属性a的基尼指数

Gini_index(D,a)=\sum_{v=1}^V\frac{|D^v|}{|D|}Gini(D^v)

选择划分后基尼指数最小的属性

3.如何对决策树剪枝?

有预剪枝和后剪枝方法

3.1 什么是预剪枝?

在决策树生成过程中,对每个结点划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点。

3.2 什么是后剪枝?

先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能的提升,则将该子树替换为叶结点。

3.3 预剪枝和后剪枝各有什么优缺点?

预剪枝:有欠拟合风险,比较简单
后剪枝:欠拟合风险小,泛化性能优于预剪枝,会保留更多分支,但训练开销大

4. 在决策树中,如何处理连续值?

二分法:给定样本集合D和连续属性a,假定D在a上有n个不同的取值,将这些值从大到小排序,记为\{a^1,\dots a^n\}.基于划分点t可将D分为D_t^-,D_t^+,其中D_t^-包含那些在属性a上取值不大于a
的样本,D_t^+包含那些在属性a上取值大于a的样本。对相邻的属性取值a^i,a^{i+1},t在这个[a^i,a^{i+1})区间中取任意值所产生的划分结果相同。对连续属性a,可考察包含n-1个元素的候选划分点集合

T_a=\{\frac{a^i+a^{i+1}}{2}|1\le i\le n-1\}

选择基于划分点t二分后信息增益最大的t。

注意:若当前结点划分属性为连续属性,该属性还可以作为其后代结点的划分属性

5. 缺失值处理

5.1 如何在属性值缺失的情况下进行划分属性选择?

用没有缺失的数据进行计算,最后给每个结果赋一个权值,权值为无缺失值样本所占的比例,这个比例越高,结果就越大,通过调整权值来调整最后的计算结果。

5.2 给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?

6.回归树

Regression Tree 回归树 - 知乎 (zhihu.com)

后续再整理

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值