- Author: xiaoran;
- Email: PursuitFlow@163.com, xiaoranone@126.com
- Datawhale
简介和算法
决策树是机器学习最常用的算法之一,它将算法组织成一颗树的形式。其实这就是将平时所说的if-then语句构建成了树的形式。 这个决策树主要包括三个部分:内部节点、叶节点和边。内部节点是划分的属性,边代表划分的条件,叶节点表示类别。构建决策树 就是一个递归的选择内部节点,计算划分条件的边,最后到达叶子节点的过程。
伪代码:
输入: 训练数据集D,特征集A,阈值 ϵ \epsilon ϵ.
输出: 决策树T.
- 如果D中所有实例属于同一类 C k C_k Ck,则置T为单结点树,并将 C k C_k Ck作为该结点的类,返回T.
- 如果 A = ∅ A=\emptyset A=∅, 则置T为单结点树,并将D中最多的类 C k C_k Ck作为该节点的类,返回T.
- 否则,根据相应公式计算A中各个特征对D的(信息增益、信息增益比、基尼指数等),选择最合适的特征 A g A_g Ag.
- 如果 A g A_g Ag的得分小于 ϵ \epsilon ϵ,则置T为单结点树,并将 C k C_k Ck作为该结点的类,返回T.
- 否则,根据 A g A_g Ag特征取值,对数据D进行划分,继续递归构造决策树, 返回T.
核心公式
信息熵: P ( X = x i ) = p i , i = 1 , 2 , . . . , n P(X=x_i)=p_i, i=1,2,...,n P(X=xi)=pi,i=1,2,...,n 则随机变量X的熵定义为: H ( P ) = − ∑ i = 1 n p i l o g p