【机器学习】12-决策树1——概念、特征选择

机器学习10-决策树1

学习样本的特征,将样本划分到不同的类别(分类问题)或预测连续的数值(回归问题)。

  • 选择特征,划分数据集,划分完成形成模型(树结构),一个叶节点是一个类别
  • 新的需要判断的数据进入模型,根据某种距离,最近的那个类就是模型输出

内容有点多,要分开


文章目录

  • 机器学习10-决策树1
  • 概念
    • 流程
  • 一、特征选择
    • 信息增益(Information Gain)
      • 例子
    • 信息增益比(Gain Ratio)
      • 为什么信息增益偏向于选择取值较多的特征
      • 定义
    • 基尼指数(Gini Index)


概念

节点(Node):决策树中的每一个点,包括决策节点和叶节点。
决策节点(Decision Node):表示一个属性的判断节点。
叶节点(Leaf Node):表示最终决策结果的节点。
分支(Branch):连接节点的线,代表决策的路径。
路径(Path):从根节点到叶节点的一条完整路径。

通过一系列的决策规则将数据集划分成不同的子集,形成一个树状结构。每个内部节点表示一个特征(或属性),每个分支表示该特征的一个取值,每个叶子节点表示一个类别或预测值。

流程

决策树算法的学习过程通常包括三个主要步骤:特征选择、决策树的生成和决策树的剪枝。

  • 特征选择:在构建决策树时,首先需要从数据集中选择最具分类能力的特征。这通常通过计算特征的信息增益、信息增益比或基尼指数等指标来完成。
  • 决策树的生成:根据选择的特征,将数据集划分为若干个子集,并为每个子集生成相应的子树。这个过程是递归进行的,直到满足某个停止条件。
  • 常见的停止条件包括:
    所有样本都属于同一个类别。
    达到预设的树的最大深度。
    节点中的样本数少于最小样本数限制。
    特征无法再进一步划分。
  • 决策树的剪枝:由于生成的决策树可能过于复杂,存在过拟合的风险,因此需要通过剪枝来简化树的结构,提高模型的泛化能力。剪枝可以分为预先剪枝和后剪枝两种方法。

一、特征选择

通常基于某种度量,这些度量反映了特征对于数据集分类能力的贡献。

基尼指数 计算更简单,速度较快,因此在CART决策树中常用。
则是更加严格的度量,计算信息增益时使用,更多应用于 ID3 和 C4.5 决策树算法。

信息增益(Information Gain)

信息增益衡量的是一个特征对减少数据集的不确定性(或熵)程度的能力。选择信息增益最大的特征作为当前节点的分裂特征。

信息增益 = 父节点的熵 - 子节点的加权平均熵

香农说,要有熵,于是便有了熵

  • 对数据集 𝐷,k个类别
    在这里插入图片描述

  • 对于特征 A,它将数据集划分为多个子集,每个子集的熵加权平均就是条件熵:
    在这里插入图片描述
    在这里插入图片描述

  • 信息增益是数据集的熵减去特征的条件熵:
    在这里插入图片描述
    某个特征划分了数据集后,熵(不确定性)减少的量
    选择信息增益最大的特征进行划分。

例子

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

信息增益比(Gain Ratio)

信息增益的改进版本。信息增益偏向于选择取值较多的特征,而信息增益比考虑了特征自身的熵,通过引入"固有值(Intrinsic Value)"对偏向进行修正。

为什么信息增益偏向于选择取值较多的特征

  • 特征取值多意味着更细的划分:当一个特征的取值较多时,它会将数据集划分得更加细致,甚至可以将每一个样本单独划分到不同的子集。

例如,假设一个特征有很多独特的取值(如“ID号”),每个样本可能对应一个唯一的取值,这样会使条件熵 H(D∣A) 极低,甚至接近0,因为每个样本已经被完全区分开来。

  • 信息增益只考虑不确定性的减少:当特征的取值数量较多时,数据集在该特征上的条件熵会显著降低,从而导致信息增益增大。信息增益没有对特征的取值数量进行惩罚,因此它会倾向于选择那些取值种类多的特征,因为这些特征可以最大限度地减少不确定性。

假设你有两个特征:

  • 特征A:取值种类很多,几乎每个样本的取值都不同(如用户ID号)。
    特征B:取值种类很少,比如只有两个类别(如“是否为VIP用户”)。
  • 即使特征A的实际分类能力不强,因其将数据集划分得非常细致,信息增益公式会认为它显著减少了数据的不确定性,从而得到很高的信息增益值。而特征B尽管可能有更实际的区分能力,但因其取值较少,划分的效果不会显著,信息增益值相对较低。

定义

信息增益比 = 信息增益 / 特征自身的熵
特征自身的熵:
在这里插入图片描述
其中n是特征A的取值个数,𝐷𝑖表示特征 𝐴 的第 𝑖 个取值对应的样本集合,𝐷 是总样本集合。

  • 对取值较多的特征进行了惩罚(分母更大)

基尼指数(Gini Index)

基尼指数反映了从数据集中随机抽取两个样本,其类别不一致的概率
这里会提到的纯度其实就是不确定性的等价概念,越纯,不确定性越小
在这里插入图片描述
选择使得分裂后基尼指数最小的特征作为分裂特征

例子
在这里插入图片描述

对于给定的数据集D和特征A,根据A划分后,基尼指数定义为:
在这里插入图片描述
和前面思想一样,子集的指数加权平均

【机器学习】13-决策树2——决策树生成、剪枝

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/429919.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

仿真软件PROTEUS DESIGN SUITE遇到的一些问题

仿真软件PROTEUS DESIGN SUITE遇到的一些问题 软件网上有很多下载地址自己找哈! 首先如果遇到仿真 没有库 ,需要在网上下载库文件替换到DATA目录下 如果不是默认安装到C盘需要手动修改这些地址,不然会报错!! 当遇到点击仿真出现报错 : 检查这个设置地址是否正确: 随便在库文…

物理学基础精解【7】

文章目录 平面方程直角坐标及基本运算线段的定比分点一、定义二、坐标公式三、特殊情况四、应用举例五、推导过程(简要)两直线的交点和两曲线的交点两直线的交点两曲线的交点例题:求两直线的交点例题:求两曲线的交点 参考文献 平面…

IPsec-VPN中文解释

一 IPsec-VPN 实操 (点到点) 网络括谱图 IPSec-VPN 配置思路 1 配置IP地址 FWA:IP地址的配置 [FW1000-A]interface GigabitEthernet 1/0/0 [FW1000-A-GigabitEthernet1/0/0]ip address 10.1.1.1 24 //配置IP地址 [FW1000-A]interface GigabitEthernet 1/0/2 [FW10…

Windows安全日志分析(事件ID详解)

目录 如何查看Windows安全日志 常见事件ID列表 事件ID 1116 - 防病毒软件检测到恶意软件 事件ID 4624 - 账户登录成功 事件ID 4625 - 账户登录失败 事件ID 4672 - 为新登录分配特殊权限 事件ID 4688 - 新进程创建 事件ID 4689 - 进程终止 事件ID 4720 - 用户账户创建 …

力扣206.反转链表

力扣《反转链表》系列文章目录 刷题次序,由易到难,一次刷通!!! 题目题解206. 反转链表反转链表的全部 题解192. 反转链表 II反转链表的指定段 题解224. 两两交换链表中的节点两个一组反转链表 题解325. K 个一组翻转…

【Go】Go语言切片(Slice)深度剖析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

Geo.__init__() got an unexpected keyword argument ‘title_color‘

把pyecharts从0.5版升级以后,报错如下: lmportError: cannot import name Geo from pyecharts‘ 参考这个:python画图时,from pyecharts import Geo时出错_cannot import name geo from pyecharts-CSDN博客 改成: fr…

yolov5/8/9/10模型在VOC数据集上的应用【代码+数据集+python环境+GUI系统】

yolov5/8/9/10模型在VOC数据集上的应用【代码数据集python环境GUI系统】 1.背景意义 VOC数据集被广泛应用于计算机视觉领域的研究和实验中,特别是目标检测和图像识别任务。许多知名的目标检测算法都使用VOC数据集进行训练和测试。VOC挑战赛(VOC Challeng…

Chainlit集成LlamaIndex实现知识库高级检索(自动合并检索)

检索原理 自动合并检索 自动合并检索原理,和我的上一篇文章的检索方案: 将文本分割成512大小(一般对应段落大小)和128(一般对句子大小不是严格的句子长度)大小两种分别存储到索引库,再用llama_…

NoSql数据库Redis知识点

数据库的分类 关系型数据库 ,是建立在关系模型基础上的数据库,其借助于集合代数等数学概念和方法来处理数据库 中的数据主流的 MySQL 、 Oracle 、 MS SQL Server 和 DB2 都属于这类传统数据库。 NoSQL 数据库 ,全称为 Not Only SQL &a…

[uni-app]小兔鲜-01项目起步

项目介绍 效果演示 技术架构 创建项目 HBuilderX创建 下载HBuilderX编辑器 HBuilderX/创建项目: 选择模板/选择Vue版本/创建 安装插件: 工具/插件安装/uni-app(Vue3)编译器 vue代码不能直接运行在小程序环境, 编译插件帮助我们进行代码转换 绑定微信开发者工具: 指定微信开…

2024年最新前端工程师 TypeScript 基础知识点详细教程(更新中)

1. TypeScript 概述 TypeScript 是由微软开发的、基于 JavaScript 的一种强类型编程语言。它是在 JavaScript 的基础上添加了静态类型检查、面向对象编程等功能的超集,最终会被编译为纯 JavaScript 代码。由于其扩展了 JavaScript 的功能,TypeScript 特…

解锁亚马逊测评自养号防关联新技术

解锁亚马逊测评自养号防关联的新技术主要包括以下几个方面,这些技术旨在提高测评过程的安全性,降低账号被关联的风险: 1. 独立纯净IP技术 独立纯净IP:采用独立、纯净且未受污染的国外IP地址,确保这些IP未被标记或列入…

240922-MacOS终端访问硬盘

A. 最终效果 B. 操作步骤 在macOS中,可以通过命令行使用Terminal访问硬盘的不同位置。你可以按照以下步骤操作: 打开终端(Terminal): 在应用程序中打开终端,或者使用 Spotlight 搜索“Terminal”来启动。 …

初学者的鸿蒙多线程并发之 TaskPool 踩坑之旅

1. 背景 目标群体:鸿蒙初学者 版本:HarmonyOS 3.1/4.0 背景:鸿蒙 App 的全局路由管理功能,需要在 App 启动时初始化对 raw 下的相关配置文件进行读取、解析并缓存。App 启动时涉及到了大量模块的初始化,好多模块都涉…

巨潮股票爬虫逆向

目标网站 aHR0cDovL3dlYmFwaS5jbmluZm8uY29tLmNuLyMvSVBPTGlzdD9tYXJrZXQ9c3o 一、抓包分析 请求头参数加密 二、逆向分析 下xhr断点 参数生成位置 发现是AES加密,不过是混淆的,但并不影响咱们扣代码 文章仅提供技术交流学习,不可对目标服…

Vue3+Element Plus:使用el-dialog,对话框可拖动,且对话框弹出时仍然能够在背景页(对话框外部的页面部分)上进行滚动以及输入框输入信息

【需求】 使用Element Plus中的el-dialog默认是模态的(即它会阻止用户与对话框外部的元素进行交互),对话框弹出时仍然能够在背景页(对话框外部的页面部分)上进行滚动以及输入框输入信息,且对话框可拖动 【…

react hooks--React.memo

基本语法 React.memo 高阶组件的使用场景说明: React 组件更新机制:只要父组件状态更新,子组件就会无条件的一起更新。 子组件 props 变化时更新过程:组件代码执行 -> JSX Diff(配合虚拟 DOM)-> 渲…

STM32精确控制步进电机

目的:学习使用STM32电机驱动器步进电机,进行电机运动精确控制。 测试环境: MCU主控芯片STM32F103RCT6 ;A4988步进电机驱动器模块;微型2相4线步进电机10mm丝杆滑台,金属丝杆安装有滑块。 10mm二相四线微型…

NtripShare测量机器人自动化监测系统测站更换仪器后重新设站

NtripShare测量机器人自动化监测系统投入商业运营已经很久了,在MosBox与自动优化网平差技术的加持下,精度并不让人担心,最近基于客户需求处理了两个比较大的问题。 1、增加对反射片和免棱镜的支持。 2、进一步优化测站更换仪器或重新整平后重…