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

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

一、引言

      相关性分析提供了一种简单而直观的方法来初步筛选特征。通过计算特征与目标变量之间的相关系数,我们能够快速地评估各个特征与预测目标之间的线性关系强度。

      在统计学中,最常用的相关系数有两种:皮尔逊相关系数(Pearson correlation coefficient)和斯皮尔曼等级相关系数(Spearman's rank correlation coefficient)。皮尔逊相关系数用于衡量两个连续变量之间的线性相关程度,而斯皮尔曼相关系数则适用于评估两个变量的等级间的单调相关关系,特别适用于非线性关系的数据。

应用注意事项:

  • 相关性分析只能捕捉到线性关系或单调关系,对于复杂的非线性关系可能无法有效识别。

  • 高相关性并不意味着因果关系,有时候两个特征之间的高相关性可能只是因为它们共同受到第三个因素的影响。

二、实现过程

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 重构训练集数据

进行训练集数据重构:

train_X = pd.DataFrame(X_train, columns=features)
train_y = pd.DataFrame(y_train, columns=[target])
train = pd.concat([train_X, train_y],axis = 1)
print(train)

打印结果:

图片

2.5 相关性分析并可视化

代码:

sns.set(font_scale=1.2)
plt.rc('font',family=['SimSun'], size=12)
plt.figure(figsize=(10, 8))
plt.subplots_adjust()
ax = sns.heatmap(train.corr(), annot=True, xticklabels=False, fmt=".2f")
ax.set_title('相关性热力图')  # 图标题
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

结果:

图片

计算了这些属性之间的相关系数,并通过热力图的方式进行了可视化。通过热力图,我们可以直观地看到各属性与标签之间的相关性如何。

作者简介:

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

酷开科技丨酷开系统重塑家庭娱乐生态,开启家庭生活新体验

家庭是社会的“基本细胞”。每一个小家都是国家的组成部分,每一个家庭的幸福才会带来整个社会和国家的幸福安定。家庭的意义,是爱、是关心、是陪伴,是一生的牵绊。我们大部分的时间都是在家庭中度过的,与家人相聚的时候&#xff0…

一款适合医院内部内网文件传输工具,了解一下!

在数字化时代,医院的数据管理和文件传输变得极其关键。医院内部的文件传输工具不仅需要满足基本的传输需求,还要考虑安全性、隐私保护和易用性等重要方面。以下是医院内网文件传输工具应具备的关键要素: 安全性:由于医院数据包含患…

内容产品运营方案业务架构解析与实践探索

### 背景 在信息爆炸的时代背景下,内容产品运营成为各行各业竞争的重要环节。构建合理的内容产品运营方案业务架构,能够帮助企业更好地管理内容生产、推广和变现,提升品牌影响力和商业价值。 ### 业务架构设计 #### 1. 内容生产与管理 建立…

滤波电阻器:用于能源系统和工业的高精度解决方案

滤波电阻器用于防止能源系统中的电源反馈。铝厂或钢铁厂的大型感应冶炼厂对电源频率产生谐波。这些必须不惜一切代价远离电网。过滤器通常以 T 或 L 元件的形式用于此目的。中压电源输入端的吸收电路由电容和电感的串联连接组成,对谐波进行负载并衰减谐波。 为了避…

【二叉树】Leetcode 637. 二叉树的层平均值【简单】

二叉树的层平均值 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[3.00000,14.50000,11.00000] 解释&#xff1a…

【qt15】windeployqt 安装依赖

debug模式vs可以使用qt插件新建qt文件 D:\Qt15\5.15.2\msvc2019\bin\windeployqt.exe Warning: Cannot find Visual Studio installation directory, VCINSTALLDIR is not set.D:\Qt15\5.15.2\msvc2019\bin\windeployqt.exe .\filecopier.exeWindows PowerShell Copyright (C) …

推荐一个简单可靠的驰骋低代码组织结构设计,设计开发使用20年了

题目:推荐一个简单可靠的组织结构设计。 以下观点是驰骋低代码设计者的观念与主张,根据如下内容生成。 组织结构分为:单组织模式、集团组织模式、SAAS组织模式。组织结构包含,人员、部门、角色、人员部门的关系、人员部门角色的关…

什么是泛洪攻击?DDos攻击也是泛洪攻击的一种?

在数字化时代的浪潮中,网络安全已成为一场没有硝烟的战争。其中,泛洪攻击作为一种常见的网络攻击手段,对个人用户、企业乃至国家网络安全构成了严重威胁。本文将对泛洪攻击进行深入剖析,包括其定义、原理、类型、影响以及应对策略…

【Redis数据库】命令操作

文章目录 一、连接命令二、键命令 🌈你好呀!我是 山顶风景独好 💕欢迎来到我的博客,很高兴能够在这里和您见面! 💕希望您在这里可以感受到一份轻松愉快的氛围! 💕这里不仅可以获得有…

ai聊天机器人app的分享!有4个热门的软件!

在科技日新月异的今天,AI聊天机器人已经不再是遥不可及的科幻概念,而是实实在在走进了我们的日常生活。无论是工作中的信息查询,还是生活中的闲聊解闷,这些智能助手都能为我们提供便捷、高效的服务。那么,市面上都有哪…

python系列29:压测工具locust

1. 介绍 使用pip进行安装,下面是个简单例子: from locust import HttpUser, taskclass HelloWorldUser(HttpUser):taskdef hello_world(self):self.client.get("/hello")self.client.get("/world")然后打开web页面: 点…

深度剖析可视化大屏的技术架构

在当今信息化时代,可视化大屏作为一种重要的信息展示方式,广泛应用于监控指挥中心、数据分析展示等领域。其技术架构对于保障大屏系统的稳定性和性能至关重要。本文将深入探讨可视化大屏的技术架构,包括硬件架构、软件架构和数据架构等方面&a…

电位器、金属触摸传感器、红外避障传感器、烟雾传感器、倾斜开关传感器 | 配合Arduino使用案例

电位器 电位器就是一个旋转按钮,可以读取到开关旋转的数值(范围:0-1023) /****** Arduino 接线 ***** VCC - 5v* GND - GND* OUT - A0***********************/int mainPin A0; // 接继电器的 IN 端口void setup() { Serial.be…

提示词工程基础:定义与重要性

目录 一、引言二、提示词工程的定义1. 概念明晰2. 技术框架3. 功能作用 三、提示词工程的重要性1. 核心作用强调2. 提升效率与降低成本3. 推动技术发展与创新 四、提示词工程的组成部分1. 提示词设计2. 模型训练与调整3. 效果评估与优化 五、实际应用示例1. 虚拟助手2. 自动新闻…

【Python数据分析--Numpy库】Python数据分析Numpy库学习笔记,Python数据分析教程,Python数据分析学习笔记(小白入门)

一,Numpy教程 给大家推荐一个很不错的笔记,个人长期学习过程中整理的 Python超详细的学习笔记共21W字点我获取 1-1 安装 1-1-1 使用已有的发行版本 对于许多用户,尤其是在 Windows 上,最简单的方法是下载以下的 Python 发行版…

了解一下Ubuntu Linux

1.3.1 什么是Ubuntu Ubuntu这个名字非常神奇,它取自非洲南部祖鲁语的ubuntu,是一个哲学名称,其意思为“人性”或者“我的存在是因为大家的存在”。对于中国人来说,一般称呼它为乌班图。 Ubuntu是在Debian的基础上开发出来的&am…

qt dragEnterEvent dragLeaveEvent dragMoveEvent dropEvent都不响应的问题解决方案。

环境&#xff1a;vs2019qt5.14.2 坑哦。让我搞了好久。各种不执行&#xff0c;最后发现,不用vs调制&#xff0c;直接运行exe就能接收拖拽了。 记录一下,感觉是qt的bug。上代码。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QText…

算法金 | 再见,PCA 主成分分析!

​大侠幸会&#xff0c;在下全网同名[算法金] 0 基础转 AI 上岸&#xff0c;多个算法赛 Top [日更万日&#xff0c;让更多人享受智能乐趣] 1. 概念&#xff1a;数据降维的数学方法 定义 主成分分析&#xff08;PCA&#xff09;是一种统计方法&#xff0c;通过正交变换将一组可…

大模型卷出新高度|暴雨AI服务器M8878助解算力之困

当今世界&#xff0c;作为新一轮科技革命和产业革命的重要驱动力&#xff0c;AI已经成为“兵家必争之地”。我国也在政府报告中首次将“人工智能”行动纳入国家战略&#xff0c;开启了以人工智能为核心的数字经济高质量发展的新时代。 当今世界&#xff0c;作为新一轮科技革命…

超越传统AI 新型多智能体系统MESA,探索效率大幅提升

探索多智能体强化学习的协同元探索 —— MESA 算法深度解读在多智能体强化学习&#xff08;MARL&#xff09;的征途中&#xff0c;如何高效探索以发现最优策略一直是研究者们面临的挑战。特别是在稀疏奖励的环境中&#xff0c;这一问题变得更加棘手。《MESA: Cooperative Meta-…