决策树--CART分类树

1、介绍

(1)简介

CART(Classification and Regression Trees)分类树是一种基于决策树的机器学习算法,用于解

决分类问题。它通过构建树状的决策规则来对数据进行分类。

(2)生成过程

① 选择一个特征和相应的切分点,将数据集分为两个子集。

② 对每个子集递归地重复步骤1,直到满足停止条件。

③ 当达到停止条件时,叶节点表示最终的分类结果。

(3)示意图

(4)特点:节点不仅包含特征,还要有特征属性。

2、如何构建树?

(1)特征选择方式--基尼系数最小

① 原始定义

② 特殊:二分类问题

③ 对给定的样本集合

④ 一般求法

⑤ 例题:根据表1 所给训练数据集,应用CART算法生成决策树。

(2) 树的深度如何决定

①给定深度,达到了预定的树的深度。

② 子集中的样本数量小于某个阈值。

③ 或者子集中的样本属于同一类别。

(3)叶子节点的代表值--表示最终的分类结果

3、分类决策树和CART分类树的区别

(1)分类准则

CART分类树使用基尼系数(Gini index)或基于基尼系数的指标(如GINI gain)作为划分准

则,以最大化数据集的纯度。

分类决策树常使用信息增益(Information Gain)或基于信息增益的指标(如信息增益比)作为

划分准则,以最大化数据集的信息增益。

(2)多叉树 vs. 二叉树

CART分类树是二叉树,每个非叶节点只有两个分支,分别对应划分特征的两个取值。

分类决策树可以是多叉树,每个非叶节点可以有多个分支,对应于划分特征的多个取值。

相关推荐
大江东去浪淘尽千古风流人物18 小时前
【DSP】向量化操作的误差来源分析及其经典解决方案
linux·运维·人工智能·算法·vr·dsp开发·mr
Unstoppable2218 小时前
代码随想录算法训练营第 56 天 | 拓扑排序精讲、Dijkstra(朴素版)精讲
java·数据结构·算法·
饕餮怪程序猿19 小时前
A*算法(C++实现)
开发语言·c++·算法
电饭叔19 小时前
不含Luhn算法《python语言程序设计》2018版--第8章14题利用字符串输入作为一个信用卡号之二(识别卡号有效)
java·python·算法
2301_8002561119 小时前
8.2 空间查询基本组件 核心知识点总结
数据库·人工智能·算法
不穿格子的程序员19 小时前
从零开始写算法——矩阵类题:矩阵置零 + 螺旋矩阵
线性代数·算法·矩阵
资深web全栈开发20 小时前
LeetCode 3432. 统计元素和差值为偶数的分区方案数
算法·leetcode
黎茗Dawn20 小时前
DDPM-KL 散度与 L2 损失
人工智能·算法·机器学习
wearegogog12320 小时前
DEA模型MATLAB实现(CCR、BCC、超效率)
开发语言·算法·matlab
业精于勤的牙20 小时前
浅谈:快递物流与算法的相关性(四)
算法