一文讲透Python机器学习特征选择之互信息法

news2024/11/15 12:36:07

1.互信息法的基本思想

互信息(Mutual Information,MI)的基本思想是计算每个特征变量与目标变量之间的互信息统计量,互信息统计量衡量变量之间的依赖关系。两个随机变量之间的互信息统计量肯定是非负值,当且仅当两个随机变量相互独立时,互信息统计量等于零。互信息统计量值越大意味着相关性越强。

具体来说,互信息量度的是特征变量X和响应变量y共享的信息,或者说知道这两个变量其中的一个,对另一个不确定度减少的程度。因此,如果特征变量X和响应变量y相互独立,则知道特征变量X将不对响应变量y提供任何信息,反之亦然,此时特征变量X和响应变量y的互信息为零。而如果特征变量X是响应变量y的确定性函数,响应变量y也是特征变量X的确定性函数,比如y=aX+B,那么此时传递的所有信息都被特征变量X和响应变量y共享,或者说知道特征变量X将可以完全预测响应变量y,则此时特征变量X和响应变量y的互信息为最大。

2.互信息法的Python代码

在Python实现方面,当响应变量为离散型变量时,为分类问题,应使用feature_selection.mutual_info_classif(互信息分类);当响应变量为连续型变量时,为回归问题,应使用feature_selection.mutual_info_regression(互信息回归)。

在使用feature_selection.mutual_info_classif或feature_selection.mutual_info_regression时,会返回互信息统计量值;其中特征变量的互信息统计量值越大,就越倾向于选择该特征变量。

3.互信息法的Python示例

互信息法的Python示例如下:

运行结果为:array([0.022, 0. , 0.205, 0.027, 0.034, 0.146, 0.076, 0.008])。其中array数组为各个特征变量的互信息统计量值,可以发现第3个、第6个、第7个特征变量的互信息统计量值是最大的。

我们可以用SelectKBest()挑选互信息统计量值最大的前N个变量:

运行结果为:Index(['age', 'education', 'workyears', 'resideyears', 'income', 'debtratio', 'creditdebt', 'otherdebt'],dtype='object')。可以发现第3个、第6个、第7个特征变量分别为workyears、debtratio、creditdebt。

运行结果如图所示。

上述内容节选自《Python数据科学应用从入门到精通》(张甜 杨维忠 著 2023年11月新书 清华大学出版社)

4.机器学习入门书目推荐


针对数据分析或机器学习推荐两本入门级的图书:《Python机器学习原理与算法实现》(杨维忠 张甜 著 2023年2月新书 清华大学出版社)《Python数据科学应用从入门到精通》(张甜 杨维忠 著 2023年11月新书 清华大学出版社)。这两本书的特色是在数据分析、机器学习各种算法的介绍方面通俗易懂,较少涉及数学推导,对数学基础要求相对不高,在python代码方面讲的很细致,看了以后根据自身需要选取算法、优化代码、科学调参。都有配套免费提供的源代码、数据文件和视频讲解,也有PPT、思维导图、习题等。

(1)《Python机器学习原理与算法实现》(杨维忠 张甜 著 2023年2月新书 清华大学出版社)


为什么说这两本书值得?首先说《Python机器学习原理与算法实现》(杨维忠 张甜 著 2023年2月新书 清华大学出版社),内容非常详实,包含了Python和机器学习,相当于一次获得了两本书。在讲解各类机器学习算法时,逐一详解用到的各种Python代码,针对每行代码均有恰当注释(这一点基本上是大多数书目做不到的)。恒丰银行总行副行长郑现中,山东大学经济学院教学实验中心主任 副教授 韩振,德勤华永会计师事务所 华文伟 合伙人,首创证券深圳分公司机构业务部 樊磊 总经理 中国准精算师,山东省农村信用社联合社数据管理项目组 郝路安 总监等一众大牛联袂推荐。这本书在出版之前曾开发成9次系列课程,在恒丰银行全行范围类开展培训,490人跟随杨维忠老师上课学习(课程限报490人),培训完成后课程在知鸟平台上回放超过3万人次。很多银行员工通过这些学习一下子就学会了Python,并且用于工作中开展数据分析、机器学习、数据可视化等,这本书也被多家商业银行选做数字化人才培训教材,成为银行员工的一本网红书。

(2)《Python数据科学应用从入门到精通》(张甜 杨维忠 著 2023年11月新书 清华大学出版社)

《Python数据科学应用从入门到精通》一书,旨在教会读者实现全流程的数据分析,并且相对《Python机器学习原理与算法实现》一书增加了很多概念性、科普性的内容,进一步降低了学习难度。国务院发展研究中心创新发展研究部第二研究室主任杨超 ,山东大学经济学院金融系党支部书记、副主任、副教授、硕士生导师张博,山东管理学院信息工程学院院长 袁锋 教授、硕士生导师,山东大学经济学院刘一鸣副研究员、硕士生导师,得厚投资合伙人张伟民等一众大牛联袂推荐。书中全是干活,买这一本书相当于一下子得到了5本书(Python基础、数据清洗、特征工程、数据可视化、数据挖掘与建模),而且入门超级简单,不需要编程基础,也不需要过多数学推导,非常适用于零基础学生。全书内容共分13章。其中第1章为数据科学应用概述,第2章讲解Python的入门基础知识,第3章讲解数据清洗。第4~6章介绍特征工程,包括特征选择、特征处理、特征提取。第7章介绍数据可视化。第8~13章介绍6种数据挖掘与建模方法,分别为线性回归、Logistic回归、决策树、随机森林、神经网络、RFM分析。从数据科学应用和Python的入门,再到数据清洗与特征工程,最终完成数据挖掘与建模或数据可视化,从而可以为读者提供“从拿到数据开始,一直到构建形成最终模型或可视化报告成果”的一站式、全流程指导。

 

两本书随书赠送的学习资料也很多,包括全部的源代码、PPT、思维导图,还有10小时以上的讲解视频,每一章后面还有练习题及参考答案,还有学习群,相对于只看网络上的视频,一方面更加系统、高效,另一方面照着书一步步操作学起来也事半功倍。全网热销中,当当、京东等平台搜索“Python机器学习 杨维忠”“Python数据科学 杨维忠”即可。

《Python机器学习原理与算法实现》(杨维忠、张甜著,2023年2月,清华大学出版社),适用于学习Python/机器学习

《Python数据科学应用从入门到精通》(张甜 杨维忠 著 2023年11月新书 清华大学出版社)适用于学习数据分析、数据科学、数据可视化等。

创作不易,恳请多多点赞,感谢您的支持!也期待大家多多关注我,让我共同学习数据分析知识。

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

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

相关文章

带键扫的LED专用驱动方案

一、基本概述 TM1650 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路。内部集成有MCU输入输出控制数字接口、数据锁存器、LED 驱动、键盘扫描、辉度调节等电路。TM1650 性能稳定、质量可靠、抗干扰能力强,可适用于24 小时长期…

【强迫症患者必备】SpringBoot项目中Mybatis使用mybatis-redis开启三级缓存必须创建redis.properties优化方案

springboot项目中mybatis使用mybatis-redis开启三级缓存需要创建redis.properties优化方案 前言下载mybatis-redis源码分析RedisCache 代码RedisConfigurationBuilder的parseConfiguration方法 优化改造1.创建JedisConfig类2.复制RedisCache代码创建自定义的MyRedisCache3.指定…

分享超实用的软文撰写步骤!建议收藏

一想到写软文就头大,根本不知道从哪里下手,这是很多写手在创作过程中会遇到的问题。 一篇软文写得好不好,关键就要看你的创作步骤到不到位,软文创作是有一套可执行的具体方式的,跟着步骤来,你也能轻轻松松…

【java扫盲贴】final修饰变量

引用类型:地址不可变 //Java中的引用类型分为类(class)、接口(interface)、数组(array)和枚举(enum)。//string是特殊的引用类型,他的底层是被final修饰的字…

麒麟操作系统网桥配置

网桥概念: Bridge 是 Linux 上用来做 TCP/IP 二层协议交换的设备,其功能可 以简单的理解为是一个二层交换机或者 Hub;多个网络设备可以连接 到同一个 Bridge,当某个设备收到数据包时,Bridge 会将数据转发 给其他设备。…

osgFX扩展库-刻线特效、立方图镜面高光特效(2)

刻线特效 刻线特效(osgFX::Scribe)是一个双通道的特效,第一个通道以通常的方式渲染图形,第二个通道使用线框模式。用户设置好光照和材质之后,即可使用指定的颜色进行渲染。这个特效使用了PolygonOffset渲染属性类来避免多边形斑驳(Z-fighting…

【C++ Primer Plus学习记录】嵌套循环和二维数组

for循环是一种处理数组的工具。下面进一步讨论如何使用嵌套for循环中来处理二维数组。 C没有提供二维数组类型,但是用户可以创建每个元素本身都是数组的数组。例如,假设要存储5个城市在4年间的最高温度,可以这样声明数组: int m…

机器学习入门(第四天)——朴素贝叶斯

知识树 Knowledge tree P(y|x),P给定x的条件下,y的概率。如:P(y我招女孩子喜欢的概率|我是学生) 一个小故事 A story 女朋友和妈妈掉河里,路人拿出3颗豆,两颗红豆1颗绿豆。如果我抽中红豆救女朋友,抽中绿…

【用unity实现100个游戏之17】从零开始制作一个类幸存者肉鸽(Roguelike)游戏5(附项目源码)

文章目录 本节最终效果前言能力升级系统绘制升级按钮武器升级道具升级治疗物品效果双手放置武器控制武器移动转向排序默认先隐藏武器,去除默认的武器精灵图片数据联动完善升级界面控制窗口开启关闭时间控制,升级暂停游戏每次升级随机获取属性项目控制等级…

2023/11/24JAVAweb学习(Vue常用指令,Vue.js文件,Ajax,Axios两种请求,Vue-cli脚手架,Vue项目,Element)

age只会执行成立的,show其实都展示了,通过display不展示 使用Vue,必须引入Vue.js文件 假如运行报错,以管理员身份打开vscode,再运行 ------------------------------------------------------------------- 更改端口号

如何有效避免七个常见的身份验证漏洞

引言 随着网络威胁的数量不断增加,了解学习可能会危及到客户在线身份的常见身份验证漏洞就显得格外重要。如果需要在网上满足客户的需求,并使用传统的身份验证机制时,就要对身份验证漏洞保持警惕。 只有了解了这些漏洞,才可以更…

如何配置mybatis中mapper对应关系,解决mybatis报错:Invalid bound statement (not found):

先看一下报错信息&#xff1a; Invalid bound statement&#xff1a;意思是无效的绑定语句 原因就是&#xff1a;在使用mybatis时mapper.xml没有和mapper接口对应起来 解决方式 第一种&#xff1a; 将mapper.xml和mapper接口放在同一位置 在pom中配置&#xff1a; <reso…

C# WPF上位机开发(抽奖程序)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 每到年末或者是尾牙的时候&#xff0c;很多公司都会办一些年终的清楚活动&#xff0c;感谢员工过去一年辛苦的付出。这个时候&#xff0c;作为年会…

专访|OpenTiny 开源社区 常浩:完成比完美更重要

前言 2023年已过大半&#xff0c;备受关注的 OpenTiny*开源之夏活动也顺利结项。开源之夏由中国科学院软件研究所发起的计划&#xff0c;目的在于鼓励在校学生积极参与开源软件的开发维护&#xff0c;推动优秀开源软件社区的繁荣发展。该活动联合各大开源社区&#xff0c;聚焦…

五要素超声波气象站-气象站小百科

随着科技的发展&#xff0c;人们对气象监测的需求也越来越高。为了满足这一需求&#xff0c;一款全新的五要素超声波气象站应运而生。这款气象站不仅具有高精度的测量能力&#xff0c;而且能够实时监测天气变化&#xff0c;为人们提供准确的气象数据。 一、实时监测&#xff0…

【数值计算方法(黄明游)】矩阵特征值与特征向量的计算(三):Jacobi 旋转法【理论到程序】

文章目录 一、Jacobi 旋转法1. 基本思想2. 计算过程演示 二、Python实现迭代过程&#xff08;调试&#xff09; 矩阵的特征值&#xff08;eigenvalue&#xff09;和特征向量&#xff08;eigenvector&#xff09;在很多应用中都具有重要的数学和物理意义。Jacobi 旋转法是一种用…

华为云之云桌面Workspace的使用体验

华为云之云桌面Workspace的使用体验 一、云桌面Workspace介绍1.云桌面简介2.云桌面特点3. 云桌面应用场景①远程移动办公②协同办公③安全办公④公用终端⑤图形制作渲染 二、本次实践介绍1. 本次实践目的2. 本次实践环境 三、购买云桌面1. 进入华为云的云桌面购买界面2. 选择购…

智能优化算法应用:基于生物地理学算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于生物地理学算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于生物地理学算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.生物地理学算法4.实验参数设定5.算法结果…

【蓝桥杯选拔赛真题70】Scratch输入输出数字 少儿编程scratch图形化编程 蓝桥杯创意编程选拔赛真题解析

目录 scratch输入输出数字 一、题目要求 编程实现 二、案例分析 1、角色分析

文件夹重命名技巧:用关键词替换文件夹名称指定内容的右侧文字

在日常生活中&#xff0c;经常要管理大量的文件夹&#xff0c;这时候掌握一些文件夹重命名的技巧就非常实用。例如文件夹重命名时&#xff0c;经常要将一些通用的文字替换成其他关键词&#xff0c;以便更好地标识和分类文件夹。而用关键词替换文件夹名称指定内容的右侧文字&…