决策树 基尼系数算法

CART算法

  • CART Classification and Regression Tree(CART) 是决策树的一种用基尼指数来选择属性 (分类) ,或用均方差来选择属性 (回归)顾名思义,CART算法既可以用于创建分类树,也可以用于创建回归树,两者在构建的过程中稍有差异。
  • 如果目标变量是离散的,称为分类树。
  • 如果目标变量是连续的,称为回归树(不过多介绍)。

连续特征处理

  • 具体思路: 有m个样本,从小到大排列,取相邻两样本值的平均数做划分点,一共取m - 1个其中第m个划分点分别计算以这m-1个点作为二元分类点时的基尼系数。选择基尼指数最小的点为该连续特征的二元离散分类点第m -1次划分。比如取到的基尼指数最小的点为at,则小于a的值为类别1,大于a的值为类别2,这样就做到了连续特征的离散化,接着采用基尼指数的大小来度量特征的各个划分点。

离散特征处理

  • 具体思路: 假设特征a有m个离散值.分类标准是: 每一次将其中一个特征分为一类,其他非该特征分为另一类依照这个标准遍历所有分类情况,计算每个分类下的基尼指数,最后选择最小的作为最终的特征划分。

基尼系数

样本集合 D D D的基尼指数(CART)

Gini ⁡ ( D ) = 1 − ∑ k = 1 K ( ∣ C k ∣ ∣ D ∣ ) 2 \operatorname{Gini}(D)=1-\sum_{k=1}^{K}\left(\frac{\left|C_{k}\right|}{|D|}\right)^{2} Gini(D)=1−k=1∑K(∣D∣∣Ck∣)2

特征 A A A条件下集合 D D D的基尼指数:

Gini ⁡ ( D , A ) = ∣ D 1 ∣ ∣ D ∣ Gini ⁡ ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ Gini ⁡ ( D 2 ) \operatorname{Gini}(D, A)=\frac{\left|D_{1}\right|}{|D|} \operatorname{Gini}\left(D_{1}\right)+\frac{\left|D_{2}\right|}{|D|} \operatorname{Gini}\left(D_{2}\right) Gini(D,A)=∣D∣∣D1∣Gini(D1)+∣D∣∣D2∣Gini(D2)

CART剪枝

具体流程

  • (1)计算每一个结点的条件熵
  • (2)递归的从叶子节点开始往上遍历减掉叶子节点,然后判断损失函数的值是否减少,如果减少,则将父节点作为新的叶子节点
  • (3)重复(2),直到完全不能剪枝
相关推荐
蓝婷儿1 小时前
Python 机器学习核心入门与实战进阶 Day 2 - KNN(K-近邻算法)分类实战与调参
python·机器学习·近邻算法
森焱森1 小时前
无人机三轴稳定化控制(1)____飞机的稳定控制逻辑
c语言·单片机·算法·无人机
循环过三天1 小时前
3-1 PID算法改进(积分部分)
笔记·stm32·单片机·学习·算法·pid
闪电麦坤951 小时前
数据结构:二维数组(2D Arrays)
数据结构·算法
凌肖战2 小时前
力扣网C语言编程题:快慢指针来解决 “寻找重复数”
c语言·算法·leetcode
埃菲尔铁塔_CV算法2 小时前
基于 TOF 图像高频信息恢复 RGB 图像的原理、应用与实现
人工智能·深度学习·数码相机·算法·目标检测·计算机视觉
IT古董2 小时前
【第二章:机器学习与神经网络概述】04.回归算法理论与实践 -(3)决策树回归模型(Decision Tree Regression)
神经网络·机器学习·回归
NAGNIP3 小时前
一文搞懂FlashAttention怎么提升速度的?
人工智能·算法
Codebee3 小时前
OneCode图生代码技术深度解析:从可视化设计到注解驱动实现的全链路架构
css·人工智能·算法