决策树的三种常见算法

用途&组成

决策树是一个监督学习模型,可用于分类和回归,它是一个由内节点和叶节点构成的树型结构。每个内节点对应了一个关于某种特征的测试(Decision),通过测试,可以把样本分开(split)。最后位于同一叶子节点的样本被分为某一类。

  • root:
  • node:对某一特征的条件测试, i f ( f e a t u r e i ⋅ ⋅ ⋅ ⋅ ) if(feature_i····) if(featurei)
  • leaf:最终的决策结果。

构造算法

决策树的构造有三个重要的步骤:

  1. 特征选择
  2. 决策树生成
  3. 剪枝
    接下来按照这三个步骤一一阐述。

1. 特征选择

构造决策树时,一个首先需要考虑的问题是选择哪一个特征来作为划分样本的依据。为了比较不同的特征间的优劣,需要设计一个metric来衡量它们的performance。常用到的metric有三种:

  • 信息增益
  • 信息增益比
  • Gini指数(纯净度)

metric

ID3:信息增益
定义
  • 熵(Entropy):事物的不确定性,越不确定,熵越大。一个随机变量X的熵的计算如下:
    E ( X ) = ∑ X = 1 n −   p i   l o g ( p i ) E(X)=\sum_{X=1}^{n}-\ p_i\ log(p_i) E(X)=X=1n pi log(pi)
    X = 1... n : X=1...n: X=1...n:随机变量X有n种不同的取值
    p i : p_i: pi每种取值对应的可能性为 p i p_i pi
    随机变量均匀分布时,熵达到最大。即均匀分布的不确定性最强。而n类平均分布的熵会小于n+1类平均分布的熵。
    在这里插入图片描述

  • 联合熵:随机变量X与Y的联合熵
    H ( X , Y ) = ∑ x i ∈ X ∑ y j ∈ Y −   p ( x i , y j )   l o g ( p ( x i , y j ) ) = ∑ x i ∈ X ∑ y j ∈ Y −   p ( x i , y j )   l o g ( p ( x i ∣ y j ) p ( y j ) ) = − ∑ x i ∈ X ∑ y j ∈ Y   p ( x i , y j )   l o g ( p ( y j ) ) − ∑ x i ∈ X ∑ y j ∈ Y   p ( x i , y j )   l o g ( p ( x i ∣ y j ) ) = − ∑ y j ∈ Y ∑ x i ∈ X   p ( x i , y j )   l o g ( p ( y j ) ) − ∑ x i ∈ X ∑ y j ∈ Y   p ( x i , y j )   l o g ( p ( x i ∣ y j ) ) = − ∑ y j ∈ Y   p ( y j )   l o g ( p ( y j ) ) − ∑ x i ∈ X ∑ y j ∈ Y   p ( x i , y j )   l o g ( p ( x i ∣ y j ) ) = H ( Y ) + H ( X ∣ Y ) = H ( X ) + H ( Y ∣ X ) \begin{aligned} H(X,Y)&=\sum_{x_i\in X}\sum_{y_j\in Y}-\ p(x_i,y_j)\ log(p(x_i,y_j))\\ &=\sum_{x_i\in X}\sum_{y_j\in Y}-\ p(x_i,y_j)\ log(p(x_i|y_j)p(y_j))\\ \\ &=-\sum_{x_i\in X}\sum_{y_j\in Y}\ p(x_i,y_j)\ log(p(y_j))-\sum_{x_i\in X}\sum_{y_j\in Y}\ p(x_i,y_j)\ log(p(x_i|y_j))\\ \\ &=-\sum_{y_j\in Y}\sum_{x_i\in X}\ p(x_i,y_j)\ log(p(y_j))-\sum_{x_i\in X}\sum_{y_j\in Y}\ p(x_i,y_j)\ log(p(x_i|y_j))\\ \\ &=-\sum_{y_j\in Y}\ p(y_j)\ log(p(y_j))-\sum_{x_i\in X}\sum_{y_j\in Y}\ p(x_i,y_j)\ log(p(x_i|y_j))\\ \\ &=H(Y)+H(X|Y) \\ &=H(X)+H(Y|X) \\ \end{aligned} H(X,Y)=xiXyjY p(xi,yj) log(p(xi,yj))=xiXyjY p(xi,yj) log(p(xiyj)p(yj))=xiXyjY p(xi,yj) log(p(yj))xiXyjY p(xi,yj) log(p(xiyj))=yjYxiX p(xi,yj) log(p(yj))xiXyjY p(xi,

  • 12
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值