机器学习之决策树

决策树

gini属性衡量其不纯度(impurity):如果应用的所有实例都属于同一个类别,那么节点就是“纯”的(gini=0)。
如深度2左节点计算:gini=1 -(0/54)2 -(49/54)2 -(5/54)2≈0.168

CART算法仅生成二叉树,其他算法(如ID3生成的决策树)其节点可以拥有两个以上的子节点。

黑盒模型:随机森林、神经网络
白盒模型:决策树。提供了简单的分类规则,可以用言语解释为什么做出这样的决策

CART训练算法 -是一种贪婪算法,通常产生不错的解,但不能保证是最优解。
基本原理是首先使用单个特征和阈值,将训练集分为两个子集。如何选择特征k和阈值tk? 搜索产生最纯子集的一对(k,tk)

gini和熵没有大的不同,gini倾向于分裂出最常见的类别,熵则倾向于产生更平衡的树

正则化超参数
决策树是非参数模型,并非指其不包含任何参数,是指在训练之前没有确定参数的数量,导致模型结构自由而紧密的贴合数据。
*参数模型(线性模型)*则有预先设定好的一部分参数,自由度受限,降低了过拟合的风险(增加了欠拟合的风险)。

剪枝:标准统计测试(X^2)用来估算“提升纯粹是出于偶然”(零假设)的概率,这个概率(p值)大于阈值,则节点可被认可不必要,进行删除,删除所有不必要节点后,剪枝结束。

不稳定性
决策树喜欢正交的决策边界(所有分割垂直于轴),这使它们对训练集旋转敏感。
限制此问题的一种方法是使用主成分分析,会使训练数据的方向更好。

🐧

  1. 通常来说子节点的基尼不纯度比其父节点的低。这是由于CART训练算法的成本函数。该算法分裂每个节点的方法,就是使其子节点的基尼不纯度的加权之和最小。(但如果一个子节点的不纯度远小于另一个,则有可能使子节点的高于父节点的,只要不纯度更低的子节点能补偿这个增加即可)

  2. 设置presort=True时,训练集小于千个预处理训练集才会加快训练,不然会减慢训练速度。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值