CART决策树(Classifiaction and Regression Tree)

目录

CART决策树与ID3算法决策树

CART决策树的构建

模型推导

代码实现


前续文章

ID3算法:决策树(Decision Tree)-ID3算法-CSDN博客文章浏览阅读793次,点赞23次,收藏8次。决策树(Decision Tree)-ID3算法https://blog.csdn.net/2401_84069125/article/details/138294371决策树:将数据集用一些”标准”,将样本按照类别分到不同的叶子节点当中.

CART决策树是一个二叉树


CART决策树与ID3算法决策树

CART决策树与ID3算法决策树最大的区别在于:1离散的/连续的 2.用于区分构建的函数不同

算法的出现和发展:我个人认为关键在于一个符号化,量化:

Step1:研究明白我们的问题,具体化我们的问题,对某些事情尽情量化处理

Step2:我们能够获得的是什么(问题给出的时候,给我们的已知条件)

Step3:我们需要得到的是什么(我们是要得到什么:最大化一个目标?还是寻找一种关系?


对于决策树而言:

1我们的问题就是,如何找到这么样的一个树形分类结构,让我们的数据集经过处理后,更加的”纯粹”

2我们获得的是数据(数据的各种特征,以及该数据的类别等特征标签)

3我们需要通过输入数据的特征得到其标签值


CART决策树的构建

CART决策树的构建,更像是一个树的生成:

步骤如下:

Step1:根节点分裂

Step2:对新生节点的性质进行判断:成为叶子节点?继续分裂?

Step3:不断迭代,直到终止


模型推导

定义数据集:D是数据集,(x,y)是元数据,其中x是p维向量,p代表x的各个特征

输出的值为离散情况下:

基尼系数/Gini不纯度

(在样本集合当中,一个随机选中的样本(概率为p)被分错的概率(概率为1-p),所以基尼指数为p(1-p))

受这个的启发,对于二叉树而言,一个节点最多只有左右两个孩子节点,我们对根节点记为D,a记作分类的标准,按照分类标准a可以将D分为两部分,定义基于a下的D的基尼系数:

同一个节点,不属同一类的概率越小(即属于同一类的概率越大),说明节点上的杂质越小(也叫纯度越纯),当一个节点的纯度达到最高,即节点上所有样本所属类别都一样时,说明该节点说明分割得越好,这正是我们想要的结果.显然基尼系数应该越小越好,这样的话可以保证,采用分割,使得分割的样本集合越”纯粹”

目标函数

这样我们就是寻找这个分割a使得G取得最大值.

输出的值为连续的情况下(回归)

目标是找到一个分割a,使得MSE(均方误差)取得最小值

核心就转换到了a的寻找上面的了! 遍历寻找的方法

综上,基于CART的决策树就成功构造成功!


代码实现

from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn import datasets
from sklearn import datasets

# 加载数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
print("特征数据:", X)
print("标签数据:", y)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# 创建决策树分类器
clf = DecisionTreeClassifier()

# 拟合模型
clf.fit(X_train, y_train)

# 在测试集上进行预测
y_pred = clf.predict(X_test)

# 输出预测结果
print("预测结果:", y_pred)

# 输出准确率
print("准确率:", clf.score(X_test, y_test))


参考文章:分类与回归树(CART)的思想、结构、训练和实现 - 知乎摘要:分类与回归树(Classification and Regression Tree, CART)是一种经典的决策树,可以用来处理涉及连续数据的分类或者回归任务,它和它的变种在当前的工业领域应用非常广泛。本文对这种决策树的思想、结构、训…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/128472955

机器学习随笔——分类与回归的联系与区别 - 知乎1.前言在学习完机器学习基础之后,对分类和回归之前的联系和区别还有一点困惑,通过知识重新回顾学习,对二者的关系有了进一步了解。 陆壹zero:读《白话机器学习的数学》——知识点学习与总结归纳2.分类和回归是…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/589535856#GeneratedCaptionsTabForHeroSec

决策树算法:由来与训练 - 知乎0引言决策树是一种非常经典的算法,可以应对分类和回归任务,我们也可以用它的中间结果来做特征选择等。决策树算法有几种经典形态:(1)原始版决策树:(2)ID3;(3)C4.5。 假设我们需要解决一个有标签分类任务,而且需…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/53183016

shi'yiCART算法的原理以及实现_cart模型由谁提出-CSDN博客文章浏览阅读3.2w次,点赞27次,收藏152次。CART算法思想CART树的特点回归树的生成最小二乘法回归树生成算法分类树的生成基尼指数分类树生成算法剪枝处理CART分类回归树(classification and regression tree,CART)模型由Breiman等人在1984年提出,是应用广泛的决策树学习方法。CART同样由特征选择、树的生成以及剪枝组成,既可以用于分类也..._cart模型由谁提出https://blog.csdn.net/gzj_1101/article/details/78355234?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-3-78355234-blog-132839138.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-3-78355234-blog-132839138.235%5Ev43%5Epc_blog_bottom_relevance_base4&utm_relevant_index=6

CART分类树构建原理-老饼讲解-机器学习-通俗易懂icon-default.png?t=N7T8https://www.bbbdata.com/ml/text/91;bbb=702F3F612F0E139248E00FF53B9592D8

决策树CART、ID3、C4.5原理梳理_决策树输入变量有要求吗-CSDN博客文章浏览阅读3k次,点赞5次,收藏29次。一. 学习决策树原理的顺序二.CART分类树(一)分类树模型结构,(二).分类树构建过程,(二).剪枝(防止过拟合)三. CART回归树模型四. ID3算法五.C4.5算法,(一) ID3的缺陷,(二) C4.5打上补丁六.决策树演进与对比能来看算法原理的,估计都对决策树有一些初步理解了。决策树算法原理其实非常简单, 但由于网上杂文过多,往往把概念弄得非常混乱,造成原理理解困难_决策树输入变量有要求吗https://blog.csdn.net/ywj_1991/article/details/123068990?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-1-123068990-blog-132839138.235%5Ev43%5Epc_blog_bottom_relevance_base4&spm=1001.2101.3001.4242.2&utm_relevant_index=4

  • 30
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值