当前位置: 首页 > article >正文

决策树中的相关概念

目录

算法介绍

基本概念:

节点

信息熵(Information Entropy)

条件熵(Conditional Entropy)

python中计算对数

分类标准

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

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

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


算法介绍

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

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

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

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

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

信息熵(Information Entropy)

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

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

计算公式:

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

条件熵(Conditional Entropy)

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

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

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

条件熵的计算公式:

举个例子:

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

X\Y
0.30.2
0.40.1
python中计算对数

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

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

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


http://www.kler.cn/a/469648.html

相关文章:

  • SpringMVC的消息转换器
  • STM32-笔记30-编程实现esp8266联网功能
  • nginx配置 - 资源参数配置(性能优化)
  • 浅谈棋牌游戏开发流程七:反外挂与安全体系——守护游戏公平与玩家体验
  • 关系分类(RC)模型和关系抽取(RE)模型的区别
  • 代码随想录 day62 第十一章 图论part11
  • windows下git clone报错:error: invalid path xxxxxx
  • 电脑steam api dll缺失了怎么办?
  • 网络安全领域的证书考试
  • Spire.PDF for .NET【页面设置】演示:向 PDF 添加平铺背景图像
  • 使用 C++ 和函数式编程构建高效的 AI 模型
  • MySQL 备份方案设计之准备事项
  • wps版excel中如何快速生成倒序序号?
  • 基于单片机的核辐射探测系统设计(论文+源码)
  • RabbitMQ案例
  • 【ArcGIS Pro二次开发实例教程】(2):BSM字段赋值
  • JAVA类和对象练习
  • Vue2: table加载树形数据的踩坑记录
  • 【数据结构05】排序
  • centos,789使用mamba快速安装R及语言包devtools
  • MySQL 的事务与多版本并发控制(MVCC)的那些事
  • Synthesia技术浅析(二):虚拟人物视频生成
  • 为什么HTTP请求后面有时带一个sign参数(HTTP请求签名校验)
  • SAP SD学习笔记26 - 贩卖契约(框架协议)的概要,基本契约 - 数量契约
  • Ubuntu创建python虚拟环境
  • 太速科技-747-4通道 500Msps 12bit 直流耦合 PCIe采集卡