相关性分析热力图(PythonMatlab代码实现)

news/2024/5/18 17:50:41/文章来源:https://blog.csdn.net/weixin_46039719/article/details/126946599

目录

1 热力图

1.1 简介

1.2 语法

 2 算例1(Python代码实现)

2.1 算例

2.2 Python代码

2.3 运行结果

 3 算例2(Python代码实现)

4 算例3(Python代码实现)

4.1 算例

4.2 Python代码

4.3 运行结果

5 相关性分析(皮尔逊,肯德尔,斯皮尔曼) (Matlab代码实现)


1 热力图

1.1 简介

利用热力图可以看数据表里多个特征两两的相似度。

seaborn.heatmap()热力图,常用于展示一组变量的相关系数矩阵,列联表的数据分布,通过热力图我们可以直观地看到所给数值大小的差异状况。

热力图,又名相关系数图。根据热力图中不同方块颜色对应的相关系数的大小,可以判断出变量之间相关性的大小。两个变量之间相关系数的计算公式为:

 公式中,ρ 表示相关系数,Cov表示协方差,E表示数学期望/均值

值得注意的是,该相关系数只能度量出变量之间的线性相关关系;也就是说,相关系数越高,则变量间的线性相关程度越高。对于相关系数小的两个变量,只能说明变量间的线性相关程度弱,但不能说明变量之间不存在其它的相关关系,如曲线关系等。
 

1.2 语法

seaborn.heatmap(data, *, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None, fmt='.2g', annot_kws=None, linewidths=0, linecolor='white', cbar=True, cbar_kws=None, cbar_ax=None, square=False, xticklabels='auto', yticklabels='auto', mask=None, ax=None, **kwargs)

========(1)热力图输入数据参数=======

data:指定绘制热力图的数据集,根据data传入的值画出热力图,一般是二维矩阵

========(2)热力图矩阵块颜色参数=======

vmin,vmax:用于指定图例中最小值与最大值的显示值

cmap:指定一个colormap对象,用于热力图的填充色

center:指定颜色中心值,通过该参数可以调整热力图的颜色深浅

robust:默认取值False;如果是False,且没设定vmin和vmax的值,热力图的颜色映射范围根据具有鲁棒性的分位数设定,而不是用极值设定

========(3)热力图矩阵块注释参数============

annot:指定一个bool类型的值或与data参数形状一样的数组,如果为True,就在热力图的每个单元上显示数值

fmt:指定单元格中数据的显示格式

annot_kws:有关单元格中数值标签的其他属性描述,如颜色、大小等

=========(4)热力图矩阵块之间间隔及间隔线参数==============

linewidths :指定每个单元格的边框宽度

linecolor:指定每个单元格的边框颜色

=========(5)热力图颜色刻度条参数==============

cbar:bool类型参数,是否用颜色条作为图例,默认为True

square:bool类型参数,是否使热力图的每个单元格为正方形,默认为False

cbar_kws:有关颜色条的其他属性描述

========(6)坐标轴=============

xticklabels,yticklabels:指定热力图x轴和y轴的刻度标签,如果为True,则分别以数据框的变量名和行名称作为刻度标签

mask:用于突出显示某些数据

ax:用于指定子图的位置

 2 算例1(Python代码实现)

2.1 算例

本算例来源于2022华夏杯大学生就业分析。

2.2 Python代码


'''=========导入相关库============='''
import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']  #图片显示中文
plt.rcParams['axes.unicode_minus'] =False #减号unicode编码#=====读取数据和数据预处理=============
shuju=pd.read_csv('数据.csv')
print(shuju)
shuju.isnull().sum()   #看下有没有缺失值:
print(shuju)
shuju.describe()  #查看数据描述#=======绘制热图===============
plt.figure(figsize=(25,20))
sns.heatmap(shuju.corr() , annot=True)  #shuju.corr() :计算各变量之间的相关系数
# 设置刻度字体大小
plt.xticks(fontsize=9)
plt.yticks(fontsize=9)
plt.show()

2.3 运行结果

算例2和算例4数据还有代码下载点击链接: 相关性分析热力图(Python&Matlab代码实现)

 3 算例2(Python代码实现)

下面这篇文章写得很棒,值得学习:

数据可视化之热力图&相关系数图(原理+Python代码)

4 算例3(Python代码实现)

4.1 算例

本题算例来源于2022华数杯比赛。

4.2 Python代码

'''======导入第三方库========'''
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题,负号正常显示'''=======读取数据==========='''
data=pd.read_csv('热图分析.csv', encoding='gbk')
data.head()corr = data.corr()     # shuju.corr() :计算各变量之间的相关系数,corr(method='pearson')默认方法选择person相关性,'spearman'秩相关。如果你想选择其它方法,请修改meathod参数。这里我们就用皮尔逊进行演示。
'''=====热图可视化============'''
plt.subplots(figsize=(9, 9))  # 设置画面大小
# annot=True,是显式热力图上的数值;vmax是显示最大值;xticklabels、yticklabels轴标签显示;square=True,将图变成一个正方形,默认是一个矩形;cmap="Blues"是一种模式,就是图颜色配置。
# mask:控制某个矩阵块是否显示出来,默认值是None,如果是布尔型的DataFrame,则将DataFrame里True的位置用白色覆盖掉
sns.heatmap(corr, annot=True, vmax=1, vmin=0, xticklabels=True, yticklabels=True, square=True, cmap="YlGnBu",linewidths=0.05, linecolor='y')  # mask=t < 0.8等价于mask=(t < 0.8)
plt.title('变量相关系数 - 热图\n', fontsize=18)  # 添加图表标题“变量相关系数 - 热图”,fontsize=18 字体大小 可省略
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.show()

4.3 运行结果

5 相关性分析(皮尔逊,肯德尔,斯皮尔曼) (Matlab代码实现)

这个博主总结得相当好,很有收获:

matlab相关性分析(皮尔逊,肯德尔,斯皮尔曼)

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

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

相关文章

Sovit3D智慧园区:数字孪生园区大屏一体化管理平台

建设背景 随着全球物联网、移动互联网、云计算、大数据等新一轮信息技术的迅速发展和深入应用&#xff0c;推动产业升级和发展数字经济成为重要发力点。而产业园区作为产业升级转型的重要载体&#xff0c;建设智慧园区的需求高速增长。智慧园区在加强信息基础设施建设的同时&a…

网络编程-TCP

软件结构分类 C/S结构 &#xff1a;全称为Client/Server结构&#xff0c;是指客户端和服务器结构。常见程序有&#xff31;&#xff31;、迅雷等软件 B/S结构 &#xff1a;全称为Browser/Server结构&#xff0c;是指浏览器和服务器结构。常见浏览器有谷歌、火狐等 网络编程三要…

Unity Editor 扩展入门1

教程来源:https://www.youtube.com/watch?v=491TSNwXTIg&t=204s 一个点击物体修改材质颜色的简单editor扩展工具 using UnityEngine; using UnityEditor;public class ExampleWindow : EditorWindow {[MenuItem("Window/Colorizer")]public static void ShowWi…

入行数字IC验证后会做些什么?需要哪些必备技能?

想必大家眼中的验证工程师就是整天对着电脑敲代码&#xff0c;这是大家对这个岗位的固定印象。其实真实情况并不是这样&#xff0c;那么入行数字IC验证后会做些什么&#xff1f;需要哪些必备技能&#xff1f;下面就一起来了解一下吧。 什么是IC验证工程师&#xff1f; 回答这…

15天深度复习JavaWeb的详细笔记(四)——HTML、CSS

Demo04-HTML、CSS 1&#xff0c;HTML 1.1 介绍 HTML 是一门语言&#xff0c;所有的网页都是用HTML 这门语言编写出来的&#xff0c;也就是HTML是用来写网页的&#xff0c;像京东&#xff0c;12306等网站有很多网页。HTML(HyperText Markup Language)&#xff1a;超文本标记语…

阿里云 window下 nginx 安装https证书的配置。

首先我这里使用的是阿里云免费的https证书。 免费证书可以申请20个&#xff0c;每个的有效期为1年。 我这里使用的是nginx部署&#xff0c;所以下载nginx的 证书压缩包 下载下来之后解压&#xff0c;有两个文件一个是&#xff0c; 一个是xxx.pem ,另一个是xxxx.key. nginx 配…

企业文件加密系统价格—公司文件加密系统多少钱?

企业文件加密系统多少钱&#xff1f;怎么收费&#xff1f;一般是根据需要购买的台数进行收费的。 现在市面上有很多做文件加密系统的厂商&#xff0c;每家收费标准都不一样&#xff0c;在百度搜索文件加密系统的价格&#xff0c;就会发现价格有几百到1000/台的不等。企业文件加…

详细讲解FuzzBench如何添加新的Fuzzer

最近几天一直在弄FuzzBench添加新的fuzzer&#xff0c;在添加过程中遇到各种问题&#xff0c;在此做详细记录。 拉取fuzzbench到本地 这一部分可以直接参考此链接FuzzBench预备条件 1.拉取代码到本地 git clone https://github.com/google/fuzzbench cd fuzzbench git submo…

我上线了一个炫酷的项目实战教程网站,主流技术一网打尽~

之前经常遇到小伙伴问我&#xff0c;之前写的某篇技术文章在哪里。又或者是拿着很早以前的部署文档问我&#xff0c;按这个文章怎么部署不起来。其实他们如果上过我的实战教程网站的话&#xff0c;估计就不会有这些问题了&#xff0c;我的原创文章基本都会同步上去。今天和大家…

孙宇晨:区块链行业势必迎来光明的未来

近日&#xff0c;波场TRON创始人孙宇晨受邀在米尔肯研究院&#xff08;Milken Institute&#xff09;官方网站上发表了题为《区块链行业势必迎来光明的未来》的署名文章。孙宇晨在文章中表示&#xff0c;作为一种新兴的颠覆性技术&#xff0c;加密行业的发展之路并非一帆风顺。…

Fat Tree 分析

本文是源于USTC Advance Computer Network 的课程内容做的总结 论文来源&#xff1a;A scalable, commodity data center network architecture 本文将分析Fat Tree的 拓扑结构、编址方案和路由算法三个方面。 拓扑结构 该文章中从传统数据中心通信的问题提出了FatTree的拓扑…

机器学习——聚类(K-Means)

机器学习——聚类(K-Means)那是什么 无监督学习——聚类聚类是基于相似对象将一组对象分组为类/类别的过程。聚类是一部分 无监督学习 .这种方法通常用于确定业务决策,特别是在基于来自集群的数据预测来预测正确的业务策略时。聚类还可用于异常检测、客户细分和改善客户服务…

食品行业中的 AI 和 ML 用例

食品行业中的 AI 和 ML 用例人工智能和机器学习为每个行业的进步铺平了道路。这些技术的使用帮助他们优化和自动化流程,降低成本和时间要求,减少人为错误的可能性。让我们了解采用基于 AI 和 ML 的技术如何使食品行业受益。Photo by 阿诺塞诺纳 on 不飞溅 由农民和各种企业…

持续集成持续交付

目录 一、Git工具 二、git安装 三、git使用 三、gitlab代码仓库 四、jenkins持续集成 五、Jenkins自动构建docker镜像&#xff0c;并上传至harbor仓库 六、Jenkins连接docker构建主机 七、jenkins结合ansible 一、Git工具 git简介 1).Git特点&#xff1a; • 速度 • 简…

PHP在线教育平台源码 网课小程序源码

在线教育知识付费平台 网课小程序源码 教育直播网校小程序源码 开发环境&#xff1a;PHP MYSQL 源码包含&#xff1a;PC小程序公众号 H5 需要绑定对接公众号 本套源码程序适合做视频图文结合的知识付费平台。带分销功能&#xff0c;多种分销方式自由设置&#xff08;可快速积…

通关GO语言22 网络编程:Go 语言如何通过 RPC 实现跨平台服务?

在上一讲中&#xff0c;我为你讲解了 RESTful API 的规范以及实现&#xff0c;并且留了两个作业&#xff0c;它们分别是删除和修改用户&#xff0c;现在我为你讲解这两个作业。 删除一个用户比较简单&#xff0c;它的 API 格式和获取一个用户一样&#xff0c;但是 HTTP 方法换…

二、JumpServer堡垒机管理员手册

JumpServer是一款非常简单好用的开源堡垒机&#xff0c;本文根据实际生产案例编辑的管理员手册&#xff0c;列出了JumpServer常用功能。JumpServer可以很好的保护公司内部服务器&#xff0c;并满足等保2.0安全需求。 目录 一、堡垒机用户创建 二、创建特权用户 三、创建普通…

金字塔思维

背景 1、大脑偏爱有规律的信息 2、把问题想全&#xff0c;同时可以深入 1 方法&#xff1a; 1.1 识别纵向信息逻辑&#xff1a; 被动接受了大量杂乱信息&#xff0c;通过金字塔思维识别信息的逻辑关系 1.2 横向分类&#xff1a;信息归类整理 穷尽所有要素、对要素进行分类…

docker、docker-compose部署oracle,plsql连接远程oracle

一、docker部署oracle 1. 下载镜像并启动容器 # 拉取阿里oracle_11g的镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g # 创建容器并启动 docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g 2.…

我们该如何运营Facebook账号呢?

社交媒体带来的流量转化是巨大的&#xff0c;这也就是为什么跨境电商卖家会转战到社媒的原因了。我们经常会发现一个帖子突然就火了&#xff0c;那么这个帖子的相关产品都得到了极大的推广&#xff0c;其曝光率也是难以想象的&#xff0c;那么由此带来的转化也常常令人欣喜若狂…