决策树(Decision Tree)

本文详细介绍了决策树算法的三种经典版本:ID3、C4.5和CART。讨论了它们的基本原理、损失函数、学习方法及应用场景。ID3以信息增益作为分裂标准,C4.5通过信息增益率避免偏好取值多的特征,而CART使用基尼指数和平方误差进行二叉树划分。此外,还提到了各自的特点、剪枝策略和缺失值处理方法。决策树的优势在于模型可视化和对数据缩放的不敏感,但也存在过拟合的风险,常通过集成学习来提升泛化性能。
摘要由CSDN通过智能技术生成

定义

决策树是一种基于规则的方法,它用一组嵌套的规则进行预测。在树的每个决策节点处,根据判断结果进入一个分支,反复执行这种操作直到到达叶子节点,得到预测结果。这些规则是通过训练得到的,而不是认为设定的。
规则是每一次分裂时的特征及其阀值。

基本原理

先列举决策树算法最有名的几个版本,版本之间最明显的差异就是用于分裂节点的特征的选择标准不同,另外在应用场景(自变量离散或连续、因变量离散或连续)、剪枝、缺失值处理等操作上也有区别。

  • 函数假设:分段函数(分类树的映射是多为空间的分段线性划分,即用平行于各坐标轴的超平面对空间进行切分;回归树的映射函数是分段函数。决策树是分段线性函数而不是线性函数,它具有非线性建模能力。)

  • 损失函数:
    在这里插入图片描述

  • 学习方法:贪心算法

ID3

Step 1.计算在当前节点上的数据集的信息熵和未用于过节点分裂的特征的条件熵,选择信息增益最大的特征进行节点分裂,选择的特征有多少个取值则分裂为多少个叶子节点;
Step 2.继续下一个节点分裂,并进行Step 1,直至节点只包含单一特征或单一样本则停止分裂;

  • 应用场景:自变量离散(多叉树),因变量离散(分类)
  • 分裂节点的特征选择标准:信息增益
    信息增益:
    G a i n ( D , A ) = H ( D ) − H ( D ∣ A ) Gain(D,A)=H(D)-H(D|A) Gain(D,A)=H(D)H(DA)
    其中 H ( D ) H(D) H(D)为数据集 D D D的信息熵, H ( D ∣ A ) H(D|A) H(DA)为数据集 D D D基于特征 A A A的条件熵,即数据集 D D D在用特征A进行数据划分前提下的信息熵。
    信息熵是度量数据集信息量大小的指标,信息量越大,代表数据集不纯度越高:
    H ( D ) = − ∑ k = 1 K p k l o g 2 p k H(D)=-\sum_{k=1}^{K}p_klog_{2}p_k H(D)=k=1Kpklog2pk p k = ∣ C k ∣ ∣ D ∣ p_k=\frac{|C_k|}{|D|} pk=DCk
    其中 K K K为数据集 D D D的类别数, C k C_k Ck为数据集D属于类别 k k k的样本集合, ∣ . ∣ |.| .表示数据集样本数。
    条件熵是度量数据集在某种划分下的信息量大小,这里是按特征A的特征值划分:
    H ( D ∣ A ) = − ∑ m = 1 M p m H ( D m ) = − ∑ m = 1 M p m ( − ∑ k m = 1 K p k m l o g 2 p k m ) H(D|A)=-\sum_{m=1}^{M}p_mH(D_m)=-\sum_{m=1}^{M}p_m(-\sum_{k_m=1}^{K}p_{k_m}log_{2}p_{k_m}) H(DA)=m=1MpmH(Dm)=m=1Mpm(k
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值