机器学习(二十四):信息增益、独热编码和回归树

一、纯度测量方式——熵

第一步,定义p_{1}:一个子集里,某一类别的数据在子集中的占比

例如,下图这组输入数据,根据耳朵形状划分为两个子集,尖耳朵子集里,有四只猫,1只狗。则p_{1}是4/5

第二步,根据p_{1}计算熵,把熵用来测量纯度。

熵的计算公式:

熵和p_{1}的曲线如下:

熵计算的示例:

二、信息增益

信息增益:节点分裂以后,与分裂前相比,分裂以后熵的减少量。

以下图为例,根节点上,猫占比5/10,熵是1。根节点根据耳朵形状分裂以后,左节点的熵是0.72,右节点的熵是0.72,根据左右节点的权重计算出:分裂后的熵左节点权重*左节点熵+右节点权重*右节点熵=0.72。最后计算出信息增益,即熵减少量为0.28。

然后依次根据脸形状、是否有胡须,分别分裂根节点,计算信息增益,找出信息增益最大的特征。

使用信息增益的一个好处是,如果信息增益太小,就可以停止分裂。

信息增益公式:

w为左节点/右节点的权重。

三、决策树整体学习过程

1、所有训练数据从树的根节点上开始分裂

2、计算所有可能特征的信息增益,然后挑选信息增益最大的特征进行分裂

3、根据所选特征把数据集分裂成两个子集,把子集划分到左分支或右分支

4、在左/右分支上继续分裂过程,直至满足停止标准。停止标准是:

  •  当一个节点上全部是一个种类时,停止分裂。
  • 当继续分裂,会超过树的最大深度时,停止分裂。
  • 当纯度提高率低于阈值时,停止分裂。
  • 当子集的数据量低于阈值时,停止分裂。

四、独热编码

当一个特征有两个以上的可能值,可以使用独热编码。

示例:如果输入特征:耳朵形状具有多个可能值:尖的、软的、椭圆的,这种场景可以把耳朵形状特征拆成是否尖的、是否软的、是否椭圆的。

独热编码:一个特征有k个可能值,创建出k个二进制特征来替换它,值是0或1。

独热编码还可以用于神经网络、逻辑回归、线性回归。

五、连续值特征

当一个特证的可能值是连续的数值时,决策树如何分裂?

连续值特征处理方式:

  1. 把训练集数据范围内,选取不同值作为阈值
  2. 按照阈值分裂
  3. 不同阈值下进行信息增益计算
  4. 选取信息增益高的值作为阈值分裂节点

示例:如果输入特征是体重,体重的可能值是连续的数值。可以选定一个阈值,按照阈值来划分子集(当体重高于阈值、当体重低于阈值)

当分别以8、9、13作为体重阈值分裂,≥阈值时划入子集1,<阈值时划入子集2,分别计算子集1和子集2的纯度,最后计算分裂后的信息增益。

六、回归树

当输出结果不是0或1,而可能是连续数值时,可以使用回归树。

示例:

输入特征是耳朵形状、脸形状、是否有胡子,输出结果是体重,体重的结果不再是0或1

步骤一:训练集按照特征分裂出子集

步骤二:每个子集里的数据按照方差计算出结果

  • 方差计算公式:设有一组数据 X1, X2, ..., Xn,其均值为 μ,方差σ² = ∑(Xi - μ)² / n。

步骤三:按照权重,计算分裂后的方差减少值


 

学习来源:吴恩达机器学习,16.1-16.6节

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

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

相关文章

Pyppeteer 爬取实战

爬取目标 https://spa2.scrape.center/ 本节工作 遍历每页列表,获取每部电影详情页的 URL 爬取每部电影的详情页, 提取电影名称, 评分,类别,封面,简介等信息 将爬取的数据保存为 JSON数据 准备工作 安…

半监督学习方法的种类

半监督学习方法结合了少量标记数据和大量未标记数据,利用未标记数据来改进模型的性能。以下是几种常见的半监督学习方法: 1. **自训练(Self-training)**:模型先用少量标记数据进行训练,然后使用这个模型来…

NVIDIA正偷偷复活卡皇泰坦,性能秒杀5090Ti

PC 硬件圈的瓜年年有,但最近似乎格外的多噢! 首先针对 13、14 代酷睿 CPU 不稳定问题,Intel 终于做出了正式回应: 他们在对退回的 CPU 进行大量分析后得出,确认是过高的运行电压和微代码算法错误导致了不稳定情况。 …

2-48 基于matlab的EM算法聚类可视化程序

基于matlab的EM算法聚类可视化程序,通过期望最大化算法(EM)优化类别间距,使得类别间距最大、类内间距最小。输出聚类前后结果及收敛曲线。程序已调通,可直接运行。 2-48 期望最大化算法(EM) 聚类…

微信小程序教程002:代码结构介绍和新建小程序页面

文章目录 代码介绍1、小程序代码构成2、小程序页面组成部分3、JSON配置文件的作用3.1 app.json文件3.2 project.config.json文件3.3 sitemap.json文件3.4 页面的.json文件 新建小程序页面WXML和WXSS介绍1、什么是WXML2、什么是WXSS 小程序的JS文件1、JS文件2、小程序中JS文件分…

使用abpcli创建项目时提示数据库迁移失败

问题描述 使用abpcli创建项目时提示数据库迁移失败! 解决方案: 1、检查数据库连接字符串 {"ConnectionStrings": {"Default": "serverlocalhost;port3306;databaseAcmeBookStore;userroot;passwordyour_password;"} }2、…

你真的会提问吗?如何有效提问?

学会提问,其实就是学会了一种优秀的思维方式,提问的过程,本身就是思考的过程。学会提问,也是我们提升领导力非常重要的一步。 一个又一个优秀的提问,会把我们引向人生巅峰;而低质量的提问,只会…

MySQL数据库的DQL的高级数据查询语句

目录 非等值联查: 等值联查: eg:5张表联查 连接查询——left/right/inner join on eg: 连接查询——union Eg: 不去重的并集——union all 子查询(内部查询) 1、where型子查询 2、from型子查询&a…

微信小程序之用户登录

用户登录是小程序的一个常用功能,当用户在浏览文章想要收藏时,在线上购买商品时,只有用户登录自己账号以后,才可以进一步使用这些功能。此文论述了小程序用户登录功能的设计流程 一、设计思路 1、界面 小程序界面效果如下所示&…

【Golang 面试 - 基础题】每日 5 题(六)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…

vue3pinia

pinia 一.pinia的理解及其搭配pinia环境二.使用二.修改数据(三种方式)三.storeToRefs 目录是store Store 包含了状态(state)、获取器(getters)和操作(actions),相当于组件中的&#…

web后端--Spring事务管理

事务也要日志配置 !!!!debug前面记得加空格 logging:level:org.springframework.jdbc.support.JdbcTransactionManager: debugrollbackFor 默认情况下,只有出现RunTimeException才会回滚事务,rollbackfor属性用于控制出现何种异常类型,回滚…

Linux shell编程笔记0

一、shell概述 shell是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核。 shell还是一个功能强大的编程语言,易编写、易调试、灵活性强。 二、shell脚本入门 1.进入编辑模式进入到目录下 vi 文件名称如果是system下的文件…

解决MyBatis查询oracle的NCLOB类型都是内存地址字符串

在项目的配置类文件夹中放入如下通用类OracleResultSetInterceptor import org.apache.ibatis.executor.resultset.ResultSetHandler; import org.apache.ibatis.plugin.*;import java.io.IOException; import java.io.Reader; import java.io.StringWriter; import java.sql.…

电子水尺的工作原理

TH-SC24电子水尺,也被称为感应式防汛水尺或水位在线监测仪,是一种专门用于监测河流水域水位变化的高科技设备。它在防汛工作中发挥着至关重要的作用,能够实时、准确地提供水位数据,为防汛决策和应急响应提供有力支持。   工作原…

连续两年入选!得帆信息强势上榜2024 Gartner ICT技术成熟度曲线

近日,国际权威咨询机构Gartner发布了《Hype Cycle for ICT in China, 2024》(2024年中国ICT技术成熟度曲线)报告。得帆信息连续两年入选低代码应用平台(LCAP)标杆供应商(Sample Vendor)。 每年&…

初创小程序公司怎么选服务器合作商

初创小程序公司怎么选服务器合作商?在移动互联网的浪潮中,小程序以其轻量、便捷、即用即走的特点,成为了众多初创企业快速触达用户、展现创意与服务的理想平台。然而,对于初创小程序公司而言,如何在纷繁复杂的服务器市…

ABAP 无意义的FORM 规范

发现一个极为奇怪的现象,大多数ABAP程序员会在FORM名称前加前缀frm_。 请问这是规范吗,整齐好看吗,又好看在哪里呢。这是哪个师傅教的,意义是什么?而且大多数人就来个frm_get_data与frm_del_data,然后这两…

基于springboot+vue+uniapp的居民健康监测小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

SQL入门通识:轻松掌握数据库查询语言

文章目录 什么是SQL?SQL的基本概念SQL的基本操作查询(SELECT)插入(INSERT)更新(UPDATE)删除(DELETE) 结合操作:联表查询和排序联表查询(JOIN&…