pearson相关系数_使用NumPy和Pandas在Python中创建相关系数矩阵

机器学习把我整的有点蒙了,今天写点简单的。

什么是相关系数矩阵?

其实这个东西在数据分析中经常用到,相关系数矩阵可以一次性同时显示多个变量之间的相关关系。当我们做相关系数矩阵时,我们会得到一个包含每个变量与其他变量之间的相关系数的表。表中的系数显示了关系的强度及其方向(正或负相关)。在Python中,我们可以使用Pandas和NumPy创建相关系数矩阵。

相关矩阵的应用

在写代码之前呢,再给大家明确一下什么时候我们需要创建相关系数矩阵:

  1. 如果我们有一个大数据集,并且打算探索数据模式。
  2. 将相关系数矩阵用于其他统计方法。例如,在进行探索性因子分析,验证性因子分析,结构方程模型时都要以相关矩阵作数据。
  3. 其他的统计方法,比如回归分析的诊断也可能用到相关矩阵。

相关的种类

相关的种类也有很多,常用的就是Pearson的乘积矩相关。根据变量的数据类型,还有数据遵循相关假设的不同,还有其他常用的方法,例如Spearman相关和Kendall相关。在这儿给出3位大佬的图片,具体什么时候用哪种相关,请自行搜索。

8041ce87c4ee125bf6d10a4e0de0a1d1.png
首先,确保你已经安装了`numpy`和`pandas`库,以及用于相关性分析的`scipy`库。如果尚未安装,可以使用pip安装它们: ```bash pip install numpy pandas scipy ``` 接下来,我们将通过Python代码使用`pandas`读取CSV文件,并用`numpy`和`scipy`进行相关性分析。以下是一个示例代码: ```python import pandas as pd import numpy as np from scipy import stats # 读取CSV文件 df = pd.read_csv('jobs.csv') # 显示前5行数据,确保数据读取正确 print(df.head()) # 假设jobs.csv有数值类型的列,我们计算其两列的相关性 # 例如,我们计算列'A'和列'B'的相关系数 column_A = df['A'] column_B = df['B'] # 使用numpy计算相关系数 correlation_numpy = np.corrcoef(column_A, column_B)[0, 1] # 使用scipy.stats计算皮尔逊相关系数,它也是最常见的相关性度量 # 它衡量的是两个变量之间的线性相关性 pearson_corr, p_value = stats.pearsonr(column_A, column_B) print(f"使用numpy计算的相关系数为: {correlation_numpy}") print(f"使用scipy.stats计算的皮尔逊相关系数为: {pearson_corr}") # 你也可以计算整个数据集的相关矩阵 correlation_matrix = df.corr() print("整个数据集的相关矩阵:") print(correlation_matrix) ``` 这段代码将会输出指定两列的相关系数以及整个数据集的相关矩阵。注意,这里使用的是皮尔逊相关系数,它是最常用的度量两组数据线性相关性的方法。如果你需要计算其他类型的相关系数(如斯皮尔曼等级相关系数),可以使用`scipy.stats`的`spearmanr`函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值