机器学习-决策树详细解释

server/2025/3/6 18:50:00/

目录

一、预备知识

1.信息熵:

 2.条件熵:

3.信息增益

4.基于信息增益选择分割特征的过程

5. C4.5算法

6.C435算法选择特征的策略

7 基尼不纯度:

二. 决策树的核心概念

​1.树的结构

​2.关键算法

三. 决策树的构建过程

1.特征选择

2.递归分割

3.停止条件

四. 决策树的优缺点

​优点

​缺点

五. 解决过拟合的方法

​剪枝(Pruning)​

​集成方法

六. 应用场景


一、预备知识

1.信息熵:

是衡量数据集纯度的指标,熵越大,数据集的纯度越低。假设数据集S包含n个类别,第i类样本出现的概率为(pi),则数据集S的熵(H(S))计算公式为

 2.条件熵:

用于衡量在给定一个属性的条件下,数据集的不确定性。设属性A,其所有可能值为v,(Sv)是数据集S中在属性A上取值为v的子集,则给定属性A的条件下,数据集S的条件熵(H(S|A))计算公式为

3.信息增益

 衡量使用属性A来分割数据集S后,得到的纯度提升,即数据集S关于属性A的信息增益

4.基于信息增益选择分割特征的过程

  1. 初始化:将所有训练样本集放在根节点。
  2. 计算信息增益:对于当前节点,计算所有候选特征的信息增益。分别计算数据集的熵\(H(S)\)和每个特征的条件熵\(H(S|A)\),然后通过公式\(Gain(S,A)=H(S)-H(S|A)\)得出每个特征的信息增益。
  3. 选择最佳特征:选择信息增益最大的特征作为当前节点的分裂特征。因为信息增益越大,说明使用该特征进行划分后,数据集的纯度提升越大,对分类的贡献也就越大。
  4. 节点分裂:根据所选特征的每个不同取值,将当前节点划分为多个子节点,每个子节点包含该特征取值下对应的所有样本。
  5. 递归构建:对于每个子节点,递归地执行计算信息增益、选择最佳特征和节点分裂的步骤,直到满足停止条件,如所有样本属于同一类别、没有更多特征可供选择或最大信息增益小于预先设定的阈值等。

5. C4.5算法

  • 分裂信息:C4.5 算法引入了一个分裂信息(split information)的项来惩罚取值较多的特征,计算公式为分裂信息本质上也是熵的概念,只不过是按照特征的取值计算概率来计算熵,与样本的分类无关。特征取值越多,分裂信息的最大值越大。
  • 增益率计算:增益率的计算公式为即信息增益与分裂信息的比值。对于取值较多的特征,其分裂信息较大,会弱化信息增益大的优势,从而减少对高基数特征的偏向。

http://www.ppmy.cn/server/172944.html

相关文章

EA - 开源工程的编译

文章目录 EA - 开源工程的编译概述笔记环境备注x86版本EABase_x86EAAssert_x86EAThread_x86修改 eathread_atomic_standalone_msvc.h原始修改后 EAStdC_x86EASTL_x86EAMain_x86EATest_x86备注备注END EA - 开源工程的编译 概述 EA开源了‘命令与征服’的游戏源码 尝试编译. 首…

配置Nginx日志url encode问题

文章目录 配置Nginx日志url encode问题方法1-lua方法2-set-misc-nginx-module 配置Nginx日志url encode问题 问题描述: 当自定义日志输出格式,需要输出http请求中url参数时,如果参数中包含中文,是会进行url encode的&#xff0c…

Stable Diffusion LoRA 技术详解

Stable Diffusion LoRA 技术详解 一、LoRA 技术原理 低秩矩阵分解 LoRA(Low-Rank Adaptation)通过冻结 Stable Diffusion(SD)基础模型权重,在交叉注意力层(Cross-Attention Layer)中注入可训练…

js的继承你了解多少

实现继承的方式有很多,下面我们来写常用的几种(包括但不限于原型链继承、构造函数继承、组合继承、寄生组合继承、ES6继承): 原型链继承 原型链继承通过修改子类的原型为父类的实例,从而实现子类可以访问到父类构造函…

Flink事件时间和处理时间咋区分

Flink事件时间和处理时间咋区分?小白也能懂😉 嘿,各位小伙伴!今天咱们来聊聊Flink里事件时间和处理时间这俩让人有点迷糊的概念🧐 别担心,我会尽量用通俗易懂的方式给大家讲清楚,就像咱们平时聊…

RabbitMQ的四种交换机

RabbitMQ交换机 什么是RabbitMQ RabbitMQ 是一个开源的消息代理和队列服务器,用于在分布式系统中存储和转发消息。它基于 AMQP(高级消息队列协议)实现,支持多种消息传递模式,广泛应用于异步通信、应用解耦、负载均衡…

API返回的数据格式是怎样的?

根据搜索结果,以下是1688按图搜索商品(拍立淘)API返回的数据格式的详细说明: API返回的数据格式 1688按图搜索商品(拍立淘)API返回的数据通常是一个JSON格式的响应,其结构如下: {&…

从0搭建Tomcat第二天:深入理解Servlet容器与反射机制

在上一篇博客中,我们从0开始搭建了一个简易的Tomcat服务器,并实现了基本的HTTP请求处理。今天,我们将继续深入探讨Tomcat的核心组件之一——Servlet容器,并介绍如何使用反射机制动态加载和管理Servlet。 1. Servlet容器的作用 S…