决策树的典型面试考点

1、写下信息熵的公式,并说下熵最大和最小的含义?

我们假设数据中某列特征有nn个取值,这列特征也可以认为是随机变量。其中 pip_{i } 代表这列特征取值为 ii 的概率.
如果每个特征值取值的概率都是一样大,因为你不知道改选哪个值,那么说明随机变量不确定性最大,也就是熵最大。
如果极端情况,n个特征某个特征的取值概率占比0.99999999,说明基本上就可以确定这个特征取值肯定会选这个概率最大的特征,随机变量不确定性很小,熵也就最小。

H(X)=i=1npilogpi H(X)=-\sum_{i=1}^{n} p_{i} \log p_{i}

2、条件熵和信息熵有什么不同,公式又是什么?

我们假设数据中有两列特征X和Y,也就是两组随机变量,条件熵是已知特征X的情况下,取值Y的信息熵,具体公式如下:
H(YX)=i=1npiH(YX=i) H(Y | X)=\sum_{i=1}^{n} p_{i} H\left(Y | X=i\right)
这里,因为X的取值有很多种,这里这里遍历X的取值,每个X的取值都要不同Y的信息熵,这里我们通过取加权平均来计算,也就是和下面求期望的方式计算类似。
E[X]=x1p1+x2p2+xnpn E[X]=x_{1} p_{1}+x_{2} p_{2}+\cdots x_{n} p_{n}

3、写一下信息增益的公式?ID3树的使用

信息增益 = 信息熵 - 条件熵

在ID3算法中,选择的是信息增益来进行特征选择,信息增益大的特征优先选择

g(D,A)=H(D)H(DA) g(D, A)=H(D)-H(D | A)

4、上面信息增益的公式有什么问题?信息增益(率)比改进了什么?C4.5树的使用

在C4.5算法中,选择的是信息增益比来选择特征,以减少信息增益容易选择特征值多的特征的缺点

gR(D,A)=g(D,A)HA(D) g_{R}(D, A)=\frac{g(D, A)}{H_{A}(D)}
其中HA(D)=i=1npilogpi H_{A}(D)=-\sum_{i=1}^{n} p_{i} \log p_{i}
A是数据的一个特征。HA(D)H_{A}(D) 属于对信息增益的惩罚参数,特征A取值越多惩罚参数越大,取值越少惩罚参数越小;从而克服信息增益偏向于选取取值较多的特征的问题。

5、什么是基尼指数?CART树的使用

基尼系数的公式为:
GINI(D)=i=1kpk(1pk)=1i=1kpk2 GINI*\left(D\right)=\sum_{i=1}^{k}p_k*\left(1-p_k\right)=1-\sum_{i=1}^{k}p_k^2

从公式中可以看出来,基尼指数的意义是从数据集D中随机抽取两个样本类别标识不一致的概率。基尼指数越小,数据集的纯度越高。

相比于信息增益,信息增益比等作为特征选择方法,基尼指数省略了对数计算,运算量比较小,也比较容易理解,所以CART树选择使用基尼系数用来做特征选择

6、决策树算法的优点和缺点?

相对于其他数据挖掘算法,决策树在以下几个方面拥有优势:

  • 决策树易于理解和实现. 人们在通过解释后都有能力去理解决策树所表达的意义。

  • 对于决策树,数据的准备往往是简单或者是不必要的 . 其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性。

  • 能够同时处理数据型和常规型属性。其他的技术往往要求数据属性的单一。

  • 在相对短的时间内能够对大型数据源做出可行且效果良好的结果。

  • 对缺失值不敏感

  • 可以处理不相关特征数据

  • 效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度。

决策树的缺点

  • 对连续性的字段比较难预测。

  • 对有时间顺序的数据,需要很多预处理的工作。

  • 当类别太多时,错误可能就会增加的比较快。

  • 一般的算法分类的时候,只是根据一个字段来分类。

  • 在处理特征关联性比较强的数据时表现得不是太好

7、随机森林算法的算法流程

1、从原始训练数据集中,应用bootstrap方法有放回地随机抽取k个新的自助样本集, 并由此构建k棵分类回归树,每次未被抽到的样本组成了K个袋外数据(out-of- bag,BBB)。

2、设有n个特征,则在每一棵树的每个节点处随机抽取m个特征,通过计算 每个特征蕴含的信息量,特征中选择一个最具有分类能力的特征进行节点分裂。

3、每棵树最大限度地生长, 不做任何剪裁

4、将生成的多棵树组成随机森林, 用随机森林对新的数据进行分类,
分类结果按树分类器(随机森林用CART树作为基学习器)投票多少而定。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章