6. 决策树算法原理以及cart代码实现

本文深入探讨了CART决策树算法,对比ID3和C4.5的改进,介绍了CART用于分类和回归问题的原理,如基尼不纯度和平方误差。并展示了使用Python构建CART决策树模型,以及后剪枝优化模型泛化能力的过程,以乳腺癌数据集为例。
摘要由CSDN通过智能技术生成

完整的实验代码在我的github上👉QYHcrossover/ML-numpy: 机器学习算法numpy实现 (github.com) 欢迎star⭐

在上一篇博客中,我们介绍了两种常见的决策树算法:ID3和C4.5。它们都是一种基于树结构的分类算法,通过建立一棵树的形式来表示分类规则,并根据树的结构进行分类。

ID3算法是一种贪心算法,每次选择信息增益最大的特征作为划分属性。但是ID3存在一个问题,它倾向于选择取值多的特征作为划分属性,因此会对取值多的特征产生较大的偏好,从而导致决策树的过拟合。为了解决这个问题,C4.5算法对ID3进行了改进,它使用信息增益比来选择划分属性,从而避免了ID3算法的缺陷。

虽然ID3和C4.5算法在决策树分类问题上表现良好,但是它们也存在一些缺点。对于连续值的属性或者离散值类别过多的属性,它们并不能很好地处理。此时,CART算法就派上了用场。

CART决策树算法原理

CART(Classification and Regression Tree)决策树是其中一种流行的决策树算法,它可以处理分类和回归问题,本文将简单介绍CART决策树的算法原理。

CART决策树的算法原理与ID3和C4.5不同,它采用二叉树来进行决策,每个节点仅有两个子节点,分别代表某个特征的取值是“是”和“否”。CART决策树通过最小化平方误差或基尼不纯度来进行特征选择,并将数据划分成纯度更高的子集。对于分类问题,CART使用基尼不纯度作为衡量指标,其定义如下:

G i n i ( D ) = ∑ k = 1 ∣ Y ∣ ∑ k ′ ≠ k p k p k ′ = ∑ k = 1 ∣ Y ∣ p k ( 1 − p k ) Gini(D) = \sum_{k=1}^{|\mathcal{Y}|}\sum_{k' \neq k}p_kp_{k'} = \sum_{k=1}^{|\mathcal{Y}|}p_k(1-p_k) Gini(D)=k=1Yk=kpkpk=k=1Ypk(1pk)

其中, D D D是样本集合, Y \mathcal{Y} Y是类别集合, p k p_k pk是属于类别 k k k的样本在样本集合 D D

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值