【Python特征工程系列】基于方差分析的特征重要性分析(案例+源码)

news2025/1/21 0:59:07

这是我的第304篇原创文章。

一、引言

方差分析(Analysis of Variance,简称ANOVA)是一种统计方法,用于比较两个或多个组之间的平均值是否存在显著差异。

方法简介:

ANOVA 通过分解总方差为组间方差和组内方差,计算统计量 F 值来检验不同组之间的平均值是否存在显著差异(例如不同学习方法,考试成绩的差异,学习方法的类型是标签,考试成绩是特征)。在特征选择中,可以将特征对目标变量的影响视为不同组的平均值,从而利用 ANOVA 分析各个特征对模型性能的贡献程度。

二、实现过程

2.1 准备数据

data = pd.read_csv(r'dataset.csv')
df = pd.DataFrame(data)

图片

2.2 目标变量和特征变量

target = 'target'
features = df.columns.drop(target)

 特征变量如下:

图片

2.3 划分训练集和测试集

X_train, X_test, y_train, y_test = train_test_split(df[features].values, df[target].values, test_size=0.2, random_state=0)

2.4 计算f统计量

进行 ANOVA 分析,通过计算每个特征与目标变量之间的f统计量,来判断哪些特征与目标变量最相关。

f_scores, p_values = f_classif(X_train, y_train)
# 打印每个特征的 F 值和 p 值
for i, feature_name in enumerate(features):
    print(f"特征 '{feature_name}' 的 F 值:{f_scores[i]}, p 值:{p_values[i]}")

打印结果:

图片

2.5 可视化卡方统计量

代码:

sns.set(font_scale=1.2)
plt.rc('font',family=['Times New Roman', 'SimSun'], size=12)
plt.figure(figsize=(10, 6))
plt.bar(features, chi_scores, color='skyblue')
plt.xticks(rotation=45)
plt.xlabel('特征')
plt.ylabel('卡方统计量')
plt.title('各特征的卡方统计量')
plt.show()

结果:

图片

在进行 ANOVA 分析后,我们可以根据 F 值和 p 值来解读结果:

F 值: 表示不同组之间的方差差异程度。F 值越大,表示不同组之间的平均值差异越显著。

p 值: 表示观察到的结果是否由随机因素引起的概率。通常,如果 p 值小于显著性水平(如0.05),则拒绝零假设,认为差异显著。

通过分析 ANOVA 结果,我们可以确定哪些特征对模型性能的影响最为显著,从而指导特征选择和模型优化的策略。

作者简介:

读研期间发表6篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,结合自身科研实践经历不定期分享关于Python、机器学习、深度学习、人工智能系列基础知识与应用案例。致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。需要数据集和源码的小伙伴可以关注底部公众号添加作者微信。

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

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

相关文章

鼠情自动监测系统

TH-SH1在农业生产中,鼠害问题一直是困扰农民的一大难题。传统的鼠害防治方法往往依赖于大规模施药或布置捕鼠器等方式,这些方法不仅效率低下,而且容易对环境造成污染。随着科技的不断发展,鼠情自动监测系统应运而生,为…

韶关化工安全生产新篇章:可燃气体报警器的校准与检测实践

在韶关这座工业城市,化工行业是当地经济发展的重要支柱。然而,随着化工生产的不断发展,可燃气体泄漏的风险也日益增加。因此,可燃气体报警器在保障生产安全方面扮演着至关重要的角色。 在这篇文章中,佰德将深入探讨可…

XTDrone-无人机与无人船协同初步-配置教程

说明:配置该教程时所使用的是Ubuntu20.04 1 海洋与无人船仿真环境搭建 cp -r ~/XTDrone/sitl_config/usv/* ~/catkin_ws/src/ cd catkin_ws catkin build # or catkin_make 说明:由于官方所编写的脚本时几年之前的,所以很多东西不符合现在…

GD32错误调试篇:串口通讯乱码/stm32移植到GD32后串口通讯乱码等问题

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 向上代码兼容GD32F450ZGT6中使用 后续项目主要在下面该专栏中发布: https://blog.csdn.net/qq_62316532/category_12608431.html?spm1001.2014.3001.5482 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转…

OpenFeign服务调用与负载均衡

目录 介绍使用高级特性超时控制重试机制默认HttpClient修改请求/响应报文压缩日志打印功能 相关文献 介绍 官网说明: Feign 是一个声明式 Web 服务客户端。它使编写 Web 服务客户端变得更加容易。要使用 Feign,请创建一个接口并对其进行注释。它具有可…

《OKR工作法》读书笔记

花了两个晚上的时间看完了《OKR工作法》这本书,谈不上有什么感想,因为工作后,其实就一直在用这种方法,所谓当局者迷嘛,习以为常也就谈不上多少新的启发。所以,这篇文章纯粹是一篇读书笔记,把我认…

Android网络性能监控方案 android线上性能监测

1 Handler消息机制 这里我不会完整的从Handler源码来分析Android的消息体系,而是从Handler自身的特性引申出线上卡顿监控的策略方案。 1.1 方案确认 首先当我们启动一个App的时候,是由AMS通知zygote进程fork出主进程,其中主进程的入口就是Ac…

PEI是聚醚酰亚胺(Polyetherimide)在粘接使用时使用UV胶水的优势有哪些?要注意哪些事项?

PEI是聚醚酰亚胺(Polyetherimide)在粘接使用时使用UV胶水的优势有哪些?要注意哪些事项? 在使用UV胶水进行聚醚酰亚胺(Polyetherimide,PEI)粘接时,有一些优势和注意事项: …

数据库物理计划执行指南

一、背景介绍 伴随信息技术地迅猛发展和应用范围地逐步扩大,数据库已成为企业存储与管理数据的重要工具。但数据量激增以及用户访问需求的与日剧增,数据库性能也将面临巨大挑战。 好在数据库物理计划执行是解决数据库性能问题的重要手段之一&#xff0…

【2024最新精简版】Kafka面试篇

文章目录 Kafka和RabbitMQ什么区别讲一讲Kafka架构你们项目中哪里用到了Kafka?为什么会选择使用Kafka? 有什么好处 ?使用Kafka如何保证消息不丢失 ?消息的重复消费问题如何解决的 ?Kafka如何保证消费的顺序性 ?Kafka的高可用机制有了解过嘛 ?Kafka实现高性能的设计有了解…

ARM32开发——GD32F4定时器查询

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录

C++设计模式——Proxy代理模式

一,代理模式简介 代理模式是一种 结构型设计模式,该模式通过引入一个新的代理对象Proxy,来间接访问原始对象,从而使访问方式变得灵活和可控。 代理对象的设定减少了客户端与真实对象之间的直接交互。 通过引入代理对象来间接访问原…

【CVPR2024】面向StableDiffusion的编辑算法FreePromptEditing,提升图像编辑效果

近日,阿里云人工智能平台PAI与华南理工大学贾奎教授团队合作在深度学习顶级会议 CVPR2024 上发表 FPE(Free-Prompt-Editing) 算法,这是一种面向StableDiffusion的图像编辑算法。在这篇论文中,StableDiffusion可用于实现图像编辑的本质被挖掘&…

贪心算法——赶作业(C++)

慢慢来,沉稳一点。 2024年6月18日 题目描述 A同学有n份作业要做,每份作业有一个最后期限,如果在最后期限后交作业就会扣分,现在假设完成每份作业都需要一天。A同学想安排作业顺序,把扣分降到最低,请帮他实…

华为OD机试 - 聚餐地点 - 广度优先搜索BFS(Java 2024 D卷 200分)

华为OD机试 2024D卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(D卷C卷A卷B卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测…

美联储的秘密议程 Fed's Hidden Agenda

编译 | 刘教链 教链按:本文是来自“米塞斯学院”Ryan McMaken的稿子,原标题是「美联储“软着陆”叙事背后的真实故事(The Real Story Behind the Fed’s “Soft Landing” Narrative)」。昨{2024.6.17内参:战报会骗人&…

实验1_配置标准IPv4 ACL

1、实验目的 通过本实验可以掌握: IPv4 ACL工作方式和工作过程定义编号和命名的标准IPv4 ACL的方法接口和VTY下应用标准IPv4 ACL的方法 2、实验拓扑 配置IPv4 ACL的实验拓扑如图9-2所示 配置 ACL 实验拓扑如下图所示。本实验中,通过配置标准 ACL 实现…

无痛接入图像生成风格迁移能力:GAN生成对抗网络

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…

QT基础 - 布局管理器间隔控件

目录 一. QVBoxLayout 二. QHBoxLayout 三. QGridLayout 四. QFormLayout 五. Spacers 六.总结 一. QVBoxLayout QVBoxLayout 主要用于将控件在垂直方向上进行排列。 它具有以下特点: 可以方便地管理和组织控件,使其按照垂直顺序依次排列。能够自动…

视频批量剪辑利器:轻松掌握尺寸修改技巧,支持自定义及预设尺寸,提升剪辑效率!

在数字化时代,视频已经成为我们生活中不可或缺的一部分。无论是社交媒体上的短视频,还是公司宣传的长视频,都离不开精心剪辑与处理。然而,对于很多小伙伴来说,视频剪辑仍然是一项既耗时又耗力的任务。尤其是当需要处理…