决策树
决策树
是基于树结构进行决策。
基本介绍
函数集
决策树的函数集就是通过特征来构造的树结构来表达。
函数评价
划分选择
通过选择最优划分属性,来得到上述树结构的形式。
信息熵
信息熵定义:
\[H=-\sum_{k}p_{k}\log{p_k}
\]
信息增益, 或者叫互信息,是衡量特征X已知的情况下,类别y不确定性减小的程度:
\[I(y,X)=H(y)-H(y|X)
\]
\(H(y|X)\)是条件熵,定义为:
\[H(y|X)=H(y,X)-H(X)=-\sum_{y,X}p(y,X)\log{\frac{p(y,X)}{p(X)}}
\]
\[=\sum_{x}p(X=x)(-\sum_yp(y|X=x)\log{p(y|X=x)})
\]
\[=\sum_{x}p(X=x)H(y|X=x)
\]
其中,\(H(y,X)\)为y, X的联合熵,当x固定或确定时,联合熵退化为普通的熵定义。
信息增益比,即互信息的增益率(gain ratio)定义为:
\[I_{gr}=\frac{I(y,X)}{H(X)}
\]
基尼系数
\[Gini(y)=\sum_{k}p_k(1-p_k)=1-\sum_{k}p_k^2
\]
类比互信息,定义基尼系数的互信息:
\[I_{Gini}=Gini(y)-Gini(y|X)
\]
\[Gini(y|X)=\sum_{x}p(X=x)Gini(y|X=x)
\]
剪枝处理
一种处理过拟合的方法,提高模型泛化能力。在树模型中,一般都会涉及。
预剪枝:在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点。
后剪枝:是从训练集生成一颗完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。
相关算法
- ID3算法用的信息增益(信息熵,互信息),\(I(y,X)\)
- C4.5算法用的是信息增益比(信息熵),\(I_{gr}\)
- CART算法用的是信息增益(基尼系数的互信息),\(I_{Gini}\)
发现最好的函数
这里不需要求解。
应用场景
决策树是一个分类的有监督模型。
- 可以直接处理类别型特征
应用场景:
- 需要解释性强的场景
- 包含类别型特征
相关问答
无
参考
1.周志华,机器学习,清华大学出版社,2016
2.何宇健,python与机器学习实战,电子工业出版社,2017