1、写下信息熵的公式,并说下熵最大和最小的含义?
我们假设数据中某列特征有
n
n
n个取值,这列特征也可以认为是随机变量。其中
p
i
p_{i }
pi 代表这列特征取值为
i
i
i 的概率.
如果每个特征值取值的概率都是一样大,因为你不知道改选哪个值,那么说明随机变量不确定性最大,也就是熵最大。
如果极端情况,n个特征某个特征的取值概率占比0.99999999,说明基本上就可以确定这个特征取值肯定会选这个概率最大的特征,随机变量不确定性很小,熵也就最小。
H ( X ) = − ∑ i = 1 n p i log p i H(X)=-\sum_{i=1}^{n} p_{i} \log p_{i} H(X)=−i=1∑npilogpi
2、条件熵和信息熵有什么不同,公式又是什么?
我们假设数据中有两列特征X和Y,也就是两组随机变量,条件熵是已知特征X的情况下,取值Y的信息熵,具体公式如下:
H
(
Y
∣
X
)
=
∑
i
=
1
n
p
i
H
(
Y
∣
X
=
i
)
H(Y | X)=\sum_{i=1}^{n} p_{i} H\left(Y | X=i\right)
H(Y∣X)=i=1∑npiH(Y∣X=i)
这里,因为X的取值有很多种,这里这里遍历X的取值,每个X的取值都要不同Y的信息熵,这里我们通过取加权平均来计算,也就是和下面求期望的方式计算类似。
E
[
X
]
=
x
1
p
1
+
x
2
p
2
+
⋯
x
n
p
n
E[X]=x_{1} p_{1}+x_{2} p_{2}+\cdots x_{n} p_{n}
E[X]=x1p1+x2p2+⋯xnpn
3、写一下信息增益的公式?ID3树的使用
信息增益 = 信息熵 - 条件熵
在ID3算法中,选择的是信息增益来进行特征选择,信息增益大的特征优先选择
g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D, A)=H(D)-H(D | A) g(D,A)=H(D)−H(D∣A)
4、上面信息增益的公式有什么问题?信息增益(率)比改进了什么?C4.5树的使用
在C4.5算法中,选择的是信息增益比来选择特征,以减少信息增益容易选择特征值多的特征的缺点
g
R
(
D
,
A
)
=
g
(
D
,
A
)
H
A
(
D
)
g_{R}(D, A)=\frac{g(D, A)}{H_{A}(D)}
gR(D,A)=HA(D)g(D,A)
其中
H
A
(
D
)
=
−
∑
i
=
1
n
p
i
log
p
i
H_{A}(D)=-\sum_{i=1}^{n} p_{i} \log p_{i}
HA(D)=−i=1∑npilogpi
A是数据的一个特征。
H
A
(
D
)
H_{A}(D)
HA(D) 属于对信息增益的惩罚参数,特征A取值越多惩罚参数越大,取值越少惩罚参数越小;从而克服信息增益偏向于选取取值较多的特征的问题。
5、什么是基尼指数?CART树的使用
基尼系数的公式为:
G
I
N
I
∗
(
D
)
=
∑
i
=
1
k
p
k
∗
(
1
−
p
k
)
=
1
−
∑
i
=
1
k
p
k
2
GINI*\left(D\right)=\sum_{i=1}^{k}p_k*\left(1-p_k\right)=1-\sum_{i=1}^{k}p_k^2
GINI∗(D)=i=1∑kpk∗(1−pk)=1−i=1∑kpk2
从公式中可以看出来,基尼指数的意义是从数据集D中随机抽取两个样本类别标识不一致的概率。基尼指数越小,数据集的纯度越高。
相比于信息增益,信息增益比等作为特征选择方法,基尼指数省略了对数计算,运算量比较小,也比较容易理解,所以CART树选择使用基尼系数用来做特征选择
6、决策树算法的优点和缺点?
相对于其他数据挖掘算法,决策树在以下几个方面拥有优势:
-
决策树易于理解和实现. 人们在通过解释后都有能力去理解决策树所表达的意义。
-
对于决策树,数据的准备往往是简单或者是不必要的 . 其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性。
-
能够同时处理数据型和常规型属性。其他的技术往往要求数据属性的单一。
-
在相对短的时间内能够对大型数据源做出可行且效果良好的结果。
-
对缺失值不敏感
-
可以处理不相关特征数据
-
效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度。
决策树的缺点
-
对连续性的字段比较难预测。
-
对有时间顺序的数据,需要很多预处理的工作。
-
当类别太多时,错误可能就会增加的比较快。
-
一般的算法分类的时候,只是根据一个字段来分类。
-
在处理特征关联性比较强的数据时表现得不是太好
7、随机森林算法的算法流程
1、从原始训练数据集中,应用bootstrap方法有放回地随机抽取k个新的自助样本集, 并由此构建k棵分类回归树,每次未被抽到的样本组成了K个袋外数据(out-of- bag,BBB)。
2、设有n个特征,则在每一棵树的每个节点处随机抽取m个特征,通过计算 每个特征蕴含的信息量,特征中选择一个最具有分类能力的特征进行节点分裂。
3、每棵树最大限度地生长, 不做任何剪裁
4、将生成的多棵树组成随机森林, 用随机森林对新的数据进行分类,
分类结果按树分类器(随机森林用CART树作为基学习器)投票多少而定。