决策树中的相关概念

目录

算法介绍

基本概念:

节点

[信息熵(Information Entropy)](#信息熵(Information Entropy))

[条件熵(Conditional Entropy)](#条件熵(Conditional Entropy))

python中计算对数

分类标准

[信息增益(ID3(Iterative Dichotomiser 3)算法的评估标准)](#信息增益(ID3(Iterative Dichotomiser 3)算法的评估标准))

[信息增益率(C4.5 算法的评估标准)](#信息增益率(C4.5 算法的评估标准))

[基尼系数(CART(Classification and Regression Tree)算法的评估标准)](#基尼系数(CART(Classification and Regression Tree)算法的评估标准))


算法介绍

决策树是一种非常直观且易于理解的机器学习算法。

决策树通过对数据特征的一系列判断来进行分类或预测。

基本概念:
节点
  • 根节点:第一个节点,决策树的开始节点。

  • 非叶子节点(内部节点):中间节点,基于特征进行条件判断的节点。

  • 叶节点:最终结果节点,表示最终的分类或预测结果。

信息熵(Information Entropy)

信息熵是信息论中的一个概念,用于度量随机变量的不确定性。

在决策树算法等机器学习场景中,信息熵通常用于衡量数据集的混乱程度或不确定性。

计算公式:

举个例子:以下两个集合的熵值谁更大呢

条件熵(Conditional Entropy)

条件熵是在给定某个条件下,随机变量的不确定性。

假设随机变量X 和 Y,条件熵H(Y|X) 表示在已知随机变量X 的取值的情况下,随机变量 Y的不确定性。

联合概率密度的计算公式:

条件熵的计算公式:

举个例子:

假设有两个随机变量 X 和 Y,X 表示天气(晴、雨),Y 表示是否适合运动(是、否)。它们的联合概率分布如下:

X\Y
0.3 0.2
0.4 0.1
python中计算对数

如何计算这个式子的答案呢

在 Python 中,可以使用math 库来计算对数。上面的式子可以这么写

python 复制代码
import math
result=-9/14*math.log(9/14,2)-5/14*math.log(5/14,2)
分类标准

构建决策树的关键在于选择合适的特征和划分点,一般而言,随着划分过程的不断进行,我们自然希望决策树各分支结点所包含的样本尽可能属于同一类别,即结点的 "纯度" (purity) 越来越高。本篇文章将介绍几类较为主流的衡量指标(信息增益、信息增益率、基尼系数)。

我们以一个分类问题为例,贯穿在接下来要讲的计算 ID3、C4.5 和 CART 算法的特征选择过程。

天气 温度 湿度 是否出去玩
信息增益(ID3(Iterative Dichotomiser 3)算法的评估标准)

信息增益基于信息熵的概念,选择使信息熵减少最多的特征进行分裂。

  1. 特征选择标准:使用信息增益来选择特征。信息增益是基于信息熵的概念,它衡量了使用某个特征进行划分后,数据集的信息不确定性减少的程度。

  2. 局限性:倾向于选择具有较多取值的特征,可能导致过拟合。对于连续型特征,需要先进行离散化处理。

  3. 优点:算法简单直观,易于理解和实现。

信息增益为:1-0.693=0.307

同理计算 "温度" 和 "湿度" 特征的信息增益。

假设 "温度" 特征的信息增益为 0.2,"湿度" 特征的信息增益为 0.1。

由于 "天气" 特征的信息增益最大,所以 ID3 算法会选择 "天气" 特征作为根节点进行分裂。

信息增益率(C4.5 算法的评估标准)

信息增益比则对信息增益进行了归一化处理,克服了信息增益偏向取值较多的特征的问题。

  1. 特征选择标准:是 ID3 算法的改进,采用信息增益比来选择特征。信息增益比克服了 ID3 中信息增益偏向选择取值多的特征的不足。

  2. 处理连续属性:能够直接处理连续型特征,通过对连续特征进行排序和离散化来构建决策树。

  3. 优点:在特征选择和防止过拟合方面比 ID3 更优,生成的决策树更加准确和稳健。

基尼系数(CART(Classification and Regression Tree)算法的评估标准)

基尼系数反映了从数据集中随机抽取两个样本,其类别不一致的概率。

  1. 用途:既可以用于分类问题,也可以用于回归问题。

  2. 特征选择标准:对于分类问题使用基尼系数,对于回归问题使用平方误差最小化。

  3. 生成结构:生成的是二叉树,即每次分裂都将数据集分为两部分。

  4. 优点:在处理复杂数据和大型数据集时表现较好,并且在分类和回归任务中都有不错的效果。

相关推荐
王哥儿聊AI1 小时前
Lynx:新一代个性化视频生成模型,单图即可生成视频,重新定义身份一致性与视觉质量
人工智能·算法·安全·机器学习·音视频·软件工程
lisw052 小时前
连接蓝牙时“无媒体信号”怎么办?
人工智能·机器学习·微服务
手握风云-3 小时前
优选算法的寻踪契合:字符串专题
算法
jie*3 小时前
小杰机器学习(nine)——支持向量机
人工智能·python·机器学习·支持向量机·回归·聚类·sklearn
闭着眼睛学算法3 小时前
【华为OD机考正在更新】2025年双机位A卷真题【完全原创题解 | 详细考点分类 | 不断更新题目 | 六种主流语言Py+Java+Cpp+C+Js+Go】
java·c语言·javascript·c++·python·算法·华为od
nju_spy3 小时前
南京大学 - 复杂结构数据挖掘(一)
大数据·人工智能·机器学习·数据挖掘·数据清洗·南京大学·相似性分析
IT古董3 小时前
【第五章:计算机视觉-项目实战之目标检测实战】2.目标检测实战:中国交通标志检测-(2)中国交通标志检测数据格式转化与读取
算法·目标检测·计算机视觉
MobotStone3 小时前
LLM 采样入门到进阶:理解与实践 Top-K、Top-P、温度控制
算法
Coovally AI模型快速验证3 小时前
从避障到实时建图:机器学习如何让无人机更智能、更安全、更实用(附微型机载演示示例)
人工智能·深度学习·神经网络·学习·安全·机器学习·无人机
杨小码不BUG4 小时前
CSP-J/S初赛知识点精讲-图论
c++·算法·图论··编码·csp-j/s初赛