决策树划分属性依据

划分依据

    • 基尼系数
    • 基尼系数的应用
    • 信息熵
    • 信息增益
    • 信息增益的使用
    • 信息增益准则的局限性

最近在学习项目的时候经常用到随机森林,所以对决策树进行探索学习。

基尼系数

基尼系数用来判断不确定性或不纯度,数值范围在0~0.5之间,数值越低,数据集越纯。
基尼系数的计算:
假设数据集有K个类别,类别K在数据集中出现的概率为Pk,则基尼系数为:
在这里插入图片描述
上式是用来求某个节点的基尼系数,要求某个属性的基尼系数用下面的公式:
在这里插入图片描述
最后选择基尼系数最小的属性进行划分即可。

基尼系数的应用

在决策树中,假如某个节点的基尼系数就是0,此时被分类到这个节点的数据集是纯的,意思就是按照此叶节点的父节点的分类方法来说,此叶节点都是同一个类别的,不需要再次分裂决策。

信息熵

信息熵和基尼系数作用相同,都是用来度量样本集合纯度的指标。
计算方法:
在这里插入图片描述
Pk是当前样本集合中第k类样本所占比例,Ent(D)(信息熵)越小,集合D的纯度越高。

这里约定当Pk为0时Ent(D)=0;

信息增益

计算公式:在这里插入图片描述
假设现在对集合D使用属性a来进行划分,属性a有v个取值,也就是有v个节点,上式中Dv是第v个节点就是取值为v的样本个数。

信息增益的使用

信息增益越大,说明使用属性a来划分所获得的纯度提升越大,决策树越好。

信息增益准则的局限性

从上面的公式可以看出,信息增益偏好可取值数目较多的属性,假如某个属性可取值达到了n,也就是每个样本都不一样,比如“编号”属性,那可以计算出这个属性的信息增益接近1,选择这样的属性来划分很可能不具有泛化能力。
改进:
使用增益率在这里插入图片描述
对于这个公式,当属性a的可取值越多时,则IV(a)会越大,增益率变小,进行了平衡。同样的,增益率准则也有局限,它对可取值较少的属性又有所偏好。

最终:先找出信息增益高于平均水平的属性,再从中选择增益率最高的即可。

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

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

相关文章

【知识学习】Unity3D中Scriptable Render Pipeline的概念及使用方法示例

Unity3D中的Scriptable Render Pipeline(SRP)是一种高度可定制的渲染管线框架,允许开发者完全控制渲染流程,以适应不同的渲染需求和硬件平台。SRP使得开发者可以编写自己的渲染逻辑,包括摄像机管理、渲染设置、光照处理…

【机器学习】K-means++: 一种改进的聚类算法详解

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 K-means: 一种改进的聚类算法详解引言1. K-means算法回顾1.1 基本概念1.2 局限性…

RDMA建链的3次握手和断链的4次挥手流程?

文章目录 基础信息建链 3次握手断链4次挥手建联状态active端passive端 报文结构函数关系其他后记 基础信息 CM: Communication Management 通信管理 连接管理SIDR: Service ID Resolution Protocol. 作用: enables users of Unreliable Datagram service to locate …

实验4 图像空间滤波

1. 实验目的 ①掌握图像空间滤波的主要原理与方法; ②掌握图像边缘提取的主要原理和方法; ③了解空间滤波在图像处理和机器学习中的应用。 2. 实验内容 ①调用 Matlab / Python OpenCV中的函数,实现均值滤波、高斯滤波、中值滤波等。 ②调…

【操作系统期末速成】 EP02 | 学习笔记(基于五道口一只鸭)

文章目录 一、前言🚀🚀🚀二、正文:☀️☀️☀️2.1 考点二:操作系统的功能及接口2.2 考点三:操作系统的发展及分类2.3 考点四:操作系统的运行环境(重要) 一、前言&#x…

从零开始三天学会微信小程序开发(三)

看到不少入门的小程序开发者不断的问重复性的问题,我们从实战角度开发了这个课程,希望能够帮助大家了解小程序开发。 课程分三天: 第一天:微信小程序开发入门第二天:给小程序接入云端数据第三天:完善我的…

MySQL高级-MVCC- readview介绍

文章目录 1、介绍2、ReadView中包含了四个核心字段:3、版本链数据的访问规则:4、不同的隔离级别,生成ReadView的时机不同: 1、介绍 ReadView(读视图)是 快照读 SQL执行时MVCC提取数据的依据,记录…

【计算机组成原理实验】——运算器组成实验

计组TEC4实验——运算器组成实验 1. 实验目的 (1)掌握算术逻辑运算加、减、乘、与的工作原理。 (2) 熟悉简单运算器的数据传送通路。 (3) 验证实验台运算器的8位加、减、与、直通功能。 (4) 验证实验台的4位乘4位功能。 (5) 按给定数据,完成几种指…

SerDes介绍以及原语使用介绍(4)ISERDESE2原语仿真

文章目录 前言一、iserdese2_module模块二、oserdese2_module模块三、顶层模块四、仿真结果分析 前言 上文详细介绍了ISERDESE2原语的使用,本文根据仿真对ISERDESE2原语的使用进一步加深印象。在仿真时,与OSERDESE进行回环。 一、iserdese2_module模块…

昇思MindSpore学习笔记4--数据集 Dataset

昇思MindSpore学习笔记4--数据集 Dataset 摘要: 昇思MindSpore数据集Dataset的加载、数据集常见操作和自定义数据集方法。 一、数据集 Dataset概念 MindSpore数据引擎基于Pipeline 数据预处理相关模块: 数据集Dataset加载原始数据,支持文本…

大创项目推荐 题目:基于机器视觉的图像矫正 (以车牌识别为例) - 图像畸变校正

文章目录 0 简介1 思路简介1.1 车牌定位1.2 畸变校正 2 代码实现2.1 车牌定位2.1.1 通过颜色特征选定可疑区域2.1.2 寻找车牌外围轮廓2.1.3 车牌区域定位 2.2 畸变校正2.2.1 畸变后车牌顶点定位2.2.2 校正 7 最后 0 简介 🔥 优质竞赛项目系列,今天要分享…

Leetcode3192. 使二进制数组全部等于 1 的最少操作次数 II

Every day a Leetcode 题目来源:3192. 使二进制数组全部等于 1 的最少操作次数 II 解法1:遍历 由于 nums[i] 会被其左侧元素的操作影响,所以我们先从最左边的 nums[0] 开始思考。 分类讨论: 如果 nums[0]1,无需反…

amis-editor 注册自定义组件

建议先将amis文档从头到尾,仔细看一遍。 参考:amis - 低代码前端框架 amis 的渲染过程是将 json 转成对应的 React 组件。先通过 json 的 type 找到对应的 Component,然后把其他属性作为 props 传递过去完成渲染。 import * as React from …

flex讲解

随着前端技术的不断发展和更新,flex布局成为前端布局的主流。但是仍然有很多前端新手搞不懂flex到底怎么用!!!今天我们就来好好讲讲flex布局 老规矩先上定义 什么是flex布局 布局的传统解决方案,基于盒状模型&#x…

郑州高校大学智能制造实验室数字孪生可视化系统平台建设项目验收

随着制造业的转型升级,智能化、信息化已成为制造业发展的必然趋势。数字孪生技术作为智能制造领域的关键技术之一,它通过构建与实体系统相对应的虚拟模型,实现对实体系统的实时监测、预测和优化,为制造业的智能化、信息化提供了强…

LitelDE安装---附带每一步截图以及测试

LiteIDE LiteIDE 是一款专为Go语言开发而设计的开源、跨平台、轻量级集成开发环境(IDE),基于 Qt 开发(一个跨平台的 C 框架),支持 Windows、Linux 和 Mac OS X 平台。LiteIDE 的第一个版本发布于 2011 年 …

PTA-线性表实验(JAVA)

题目1:Josephus环的问题及算法 【实验内容】 编程实现如下功能: 题意说明:古代某法官要判决n个犯人的死刑,他有一条荒唐的法律,将犯人站成一个圆圈,从第start个犯人开始数起,每数到第distance的…

使用Dockerfile构建镜像 使用docker-compose 一键部署IM项目

本文讲解:使用Dockerfile构建镜像 & 使用docker-compose 一键部署IM项目。 im项目地址:xzll-im ,欢迎志同道合的开发者 一起 维护,学习,欢迎star 😄 1、Dockerfile编写与镜像构建&容器运行 Dockerf…

Nginx和CDN运用

一.Web缓存代理 1.工作机制 代替客户机向网站请求数据,从而可以隐藏用户的真实IP地址。将获得的网页数据(静态Web元素)保存到缓存中并发送给客户机,以便下次请求相同的数据时快速响应。 2.代理服务器的概念 代理服务器是一个位…

k8s token加新节点

在 master 节点执行 kubeadm token create --print-join-command得到token和cert,这两个参数在2个小时内可以重复使用,超过以后就得再次生成 kubeadm join apiserver.k8s.com --token mpfjma.4vjjg8flqihor4vt --discovery-token-ca-cert-hash sha…