相关性分析——Pearson相关系数+热力图(附data和Python完整代码)

news2024/11/18 7:45:00

相关性分析:指对两个或多个具有相关性的变量元素进行分析

1.散点图和相关性热力图

2.相关系数

相关系数最早是由统计学家卡尔 皮尔逊设计的统计指标,是研究变量之间线性相关承兑的值,一般用字母 r 表示。

2.1Pearson相关系数

Pearson相关系数是衡量两个数据集合是否在一条线上面,用于衡量变量间的线性关系。
在这里插入图片描述

这里是引用如果有两个变量:X、Y,最终计算出的相关系数的含义可以有如下理解:
(1)、当相关系数为0时,X和Y两变量无关系。
(2)、当X的值增大(减小),Y值增大(减小),两个变量为正相关,相关系数在0.00与1.00之间。
(3)、当X的值增大(减小),Y值减小(增大),两个变量为负相关,相关系数在-1.00与0.00之间。

相关系数的绝对值越大,相关性越强,相关系数越接近于1或-1,相关度越强,相关系数越接近于0,相关度越弱。

通常情况下通过以下取值范围判断变量的相关强度: 相关系数 0.8-1.0 极强相关
0.6-0.8 强相关
0.4-0.6 中等程度相关
0.2-0.4 弱相关
0.0-0.2 极弱相关或无相关

2.2 Spearman相关系数

Spearman相关系数适用于不符合正态分布或者总体分布类型未知的数据,Spearman用于描述两个变量之间关联的程度与方向。

待补充

2.3Kendall等级相关系数

Kendall等级相关系数是用于反应分类相关变量的相关指标,适用于两个变量均为有序分类的情况,对相关的有序变量进行非参数性相关检验。

待补充

3.Python代码讲解

3.1 数据集

日期,蜜汁焗餐包,铁板酸菜豆腐,香煎韭菜饺,香煎罗卜糕,原汁原味菜心
2015/1/1,13,18,10,10,27
2015/1/2,9,19,13,14,13
2015/1/3,8,7,11,10,9
2015/1/4,10,9,13,14,13
2015/1/5,12,17,11,13,14
2015/1/6,8,12,11,5,9
2015/1/7,5,10,8,10,7
2015/1/8,7,6,12,11,5
2015/1/12,0,5,5,7,10
2015/1/13,8,6,9,8,9
2015/1/14,4,8,5,3,10
2015/1/15,8,15,9,13,9
2015/1/16,11,14,9,9,15
2015/1/17,14,16,9,4,14
2015/1/18,9,8,12,9,15
2015/1/19,9,10,6,11,11
2015/1/20,11,8,14,6,13
2015/1/21,7,1,5,12,8
2015/1/22,13,13,5,11,11
2015/1/23,5,8,7,8,11
2015/1/24,7,9,7,10,9
2015/1/25,7,14,7,6,8
2015/1/26,6,9,12,7,5
2015/1/27,12,6,12,9,4
2015/1/28,8,7,12,10,6
2015/1/29,7,8,10,10,11
2015/1/30,7,9,16,10,11
2015/1/31,8,8,10,10,9
2015/2/1,6,6,11,6,9

3.2代码讲解

3.2.1 读取excel文档,Pearson相关系数+热力图

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns


# 读取菜品销售量数据
filepath = 'C:/Users/14210/Desktop/机器学习代码/data/cor.xlsx'
cor = pd.read_excel(filepath) 
# 计算相关系数矩阵,包含了任意两个菜品间的相关系数
print('5种菜品销售量的相关系数矩阵为:\n', cor.corr())

# 绘制相关性热力图
plt.subplots(figsize=(8, 8))  # 设置画面大小 
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号 
sns.heatmap(cor.corr(), annot=True, vmax=1, square=True, cmap="Blues") 
plt.title('相关性热力图')
plt.show()

3.2.2 结果图

在这里插入图片描述

3.2.3 读取csv文档,Pearson相关系数+热力图

# 读取csv文件

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

filepath = 'C:/Users/14210/Desktop/机器学习代码/data/cor.csv'
data = pd.read_csv(filepath)
df = pd.DataFrame(data)


# 计算出相关系数并输出,这里选择的是皮尔逊相关系数
cor = data.corr(method='pearson')
print(cor)  # 输出相关系数

rc = {'font.sans-serif': 'SimHei',
      'axes.unicode_minus': False}
sns.set(font_scale=0.7,rc=rc)  # 设置字体大小

sns.heatmap(cor,
            annot=True,  # 显示相关系数的数据
            center=0.5,  # 居中
            fmt='.2f',  # 只显示两位小数
            linewidth=0.5,  # 设置每个单元格的距离
            linecolor='blue',  # 设置间距线的颜色
            vmin=0, vmax=1,  # 设置数值最小值和最大值
            xticklabels=True, yticklabels=True,  # 显示x轴和y轴
            square=True,  # 每个方格都是正方形
            cbar=True,  # 绘制颜色条
            cmap='coolwarm_r',  # 设置热力图颜色
            )
plt.savefig("我是相关热力图.png",dpi=600)#保存图片,分辨率为600
plt.ion() #显示图片

3.2.4 结果图

在这里插入图片描述

4.结果分析

根据热力图可以看出,原汁原味菜心铁板酸菜豆腐、蜜汁煸餐包这两种菜品的相关性较强,说明大部分客户对这3种菜品的偏好程度相当。

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

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

相关文章

蓝桥杯算法竞赛系列第九章·巧解哈希题,用这3种数据类型足矣

你好,我是安然无虞。 文章目录 哈希基础概念哈希相关题目 有效的字母异位词 赎金信 字母异位词分组 两个数组的交集 快乐数 两数之和 四数相加 II 最长连续序列 查找共用字符 同构字符串 单词规律 字节跳动面试:缺失的第一个正数 哈喽哈喽,好…

vr航空博物馆综合展馆趣味VR科普体验

第十期广州科普开放日 10月28日周六上午九点半,广州卓远VR科普基地再次迎来一批前来体验的亲子家庭,陆续到达的市民朋友让整个基地都热闹了起来,他们在这里开启了一场别开生面的VR科普体验。 一期一会,趣味VR科普 10月广州科普开放…

Pinia 是什么?Redux、Vuex、Pinia 的区别?

结论先行: Pinia 是 Vue 官方团队开发的一个全新状态管理库。与 Redux、Vuex 相同,核心都是解决组件间的通信和数据的共享问题。 Pinia 和 Vuex 类似,但使用起来更加简单和直观。因为 Pinia 基于 Vue3 的 Composition 组合式 API 风格&…

【k8s】数据存储

一、数据存储的概念 pod的生命周期可能很短,会被频繁地创建和销毁。那么容器在销毁时,保存在容器中的数据也会被清除。这种结果对用户来说,在某些情况下是不乐意看到的。为了持久化保存容器的数据,kubernetes引入了Volume的概念。…

【Linux】 OpenSSH_9.3p2 升级到 OpenSSH_9.4p1(亲测无问题,建议收藏)

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

异常处理流程

1.什么是异常源? 引发处理器进入对应的异常模式 2.异常源和异常模式的对应关系 1.五种异常模式,七种异常源 ; 2.根据不同的异常源,引发处理器进入不同的异常模式,执行异常处理函数 3.异常源具有优先级,复…

PLC常用的几种编程语言

PLC的软件编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同于一般的汇编语言,它既要满足易于编写又要满足易于调试的要求。 早期的PLC仅支持梯形图编程语言和指令表编程语言,现根据国际电工委员…

log4j CVE-2021-44228 RCE漏洞复现

一、漏洞特征 Apache Log4j 是 Apache 的一个开源项目,Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组件等,通过定义每一条日志信息的…

推荐系统设计与实现 协同过滤推荐算法 计算机竞赛

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 推荐系统设计与实现 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1…

高效节省IT资源,WorkPlus让企业轻松实现业务场景的快速移动化

在企业的业务移动化进程中,维护iOS、安卓、桌面端不仅需要专业的技术支持,更需要投入大量的IT人力资源。然而,选择WorkPlus作为移动化解决方案,企业可以轻松省去iOS、安卓、桌面端工程师的维护成本,只需借助H5工程师的…

搅拌站排队叫号系统 | 混凝土智慧物流管理平台

思伟软件 智慧物流管理平台 混凝土 用砼行 在线下单。工地通过砼行小程序下单,搅拌站通过砼行APP接单。 智能调度。手机打卡,自动排队。大小车自动分列,拌台生产随时看。电子小票直达司机手机。自动收到砼行APP推送的电子小票与广播发车提…

C 数据类型

C 数据类型 在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。 C 中的类型可分为以下几种: 序号类型与描述1基本数据类型 它们是算术类型&#x…

数字化转型:2023零售业的新机遇,亿发零售云系统释放无限可能

零售业的数字化转型不仅能够为顾客带来卓越的购物体验,同时也能为零售企业提供丰富的数据分析、销售预测和生产管理的机会。通过这些分析,企业能够更准确地了解市场需求和消费者的购买行为,进而制定更具针对性的营销策略,从而增强…

妙享中心升级,小米电脑管家 v1.0.0.489,非小米笔记本安装教程

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,适合想要了解和入门的朋友:点击访问链接 十月底,小米新品发布会发布了新的年度旗舰,小米14和14 Pro,同时发布了最新的自研系统——小米澎湃…

如何在在线Excel文档中对数据进行统计

本次我们将用zOffice表格的公式与数据透视表分析样例(三个班级的学生成绩)。zOffice表格内置了大量和Excel相同的统计公式,可以进行各种常见的统计分析,如平均值、标准差、相关性等。同时,zOffice也有数据透视表功能&a…

Flutter 第三方 flutter_screenutil(屏幕适配)

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络&#xff0…

深入浅出 JetPack Compose UI 自动更新原理

为什么需要学习 Compose 的底层原理? 我想学习底层原理的主要原因是我对 Jetpack Compose 是如何运作的非常感兴趣。相对于传统的 View 系统,JetPack Compose 写起来相当神奇。具体来说,Composable 函数不会有返回值;它会自动更新…

NVIDIA Jetson SOC 内存分配策略

CPU 是Host, GPU 是Device, 系统内存分配策略如下: 这段话的翻译如下: 集成的GPU会和CPU以及其他Tegra引擎共享DRAM(动态随机存储器),并且CPU可以通过将DRAM的内容移动到交换区域(SWAP area)或者相反来控制…

每个 .vue 文件最多可以包含一个顶层 <template> 块

问题: 回答: 实际解决方法: 上图将template的#header写到了上一行的el-table-column中就出发这个问题

直播带货小程序的前端开发技巧与工具

当下,直播带货小程序已经成为了一个备受欢迎的选择,因为它能够将传统直播和电子商务相结合,为用户提供更好的购物体验。本文将深入探讨直播带货小程序的前端开发技巧和工具,以帮助开发人员更好地构建这一类型的应用。 1.小程序基础…