龙空技术网

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

Codewar 117

前言:

目前同学们对“python 零矩阵”大致比较关注,各位老铁们都需要剖析一些“python 零矩阵”的相关资讯。那么小编在网络上汇集了一些关于“python 零矩阵””的相关知识,希望小伙伴们能喜欢,你们一起来学习一下吧!

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

什么是相关系数矩阵?

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

相关矩阵的应用

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

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

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

Pearson, Spearman, 和 Kendall

创建相关系数矩阵在NumPy中创建相关矩阵

要使用NumPy创建相关系数矩阵,常规语法如下:

np.corrcoef(x)

其中,x是一维或二维数组。

使用Pandas创建相关矩阵

要使用Pandas创建相关系数矩阵,常规语法如下:

df.corr()

在这里,df是DataFrame,而cor()是获取相关系数的方法。

好,光说不行,直接给例子,首先是在Numpy中的例子。

首先,我们将使用numpy.loadtxt方法加载数据。然后,我们将使用corrcoeff方法创建相关系数矩阵。

import numpy as npdata = './SimData/correlationMatrixPython.csv'x = np.loadtxt(data, skiprows=1, delimiter=',',              unpack=True)np.corrcoef(x)

运行代码,我们可以得到

Correlation Matrix (NumPy Array)

注意,我使用skiprows参数跳过了包含变量名称的第一行,并使用了delimiter参数,因为这些列由逗号分隔。最后,我使用了unpack参数,以便我们的数据将遵循corrcoef的要求。最后一点;使用NumPy,我们无法计算Spearman相关和Kendall相关。

Pandas创建相关矩阵

import pandas as pd
2.使用Pandas导入数据
data = './SimData/correlationMatrixPython.csv'df = pd.read_csv(data)df.head()

在下图中,我们可以看到数据集中四个变量的部分值:

3.计算相关矩阵:

df.corr()

得到以下输出:

最后,如果我们想使用其他相关方法(例如Spearman相关),我们只需将method ='Spearman'参数添加到corr方法中。参见下图。

感谢您耐心看完,发表这些东西的主要目的就是督促自己,希望大家关注评论指出不足,一起进步。内容我都会写的很细,并且按照文章中的代码自己也可以做出一样的结果,一个目的就是零基础也能懂,因为自己就是什么基础没有从零学Python的。文章中原始数据链接

哈哈关注有福利,骗波关注么么哒。

标签: #python 零矩阵 #python生成全零矩阵 #python列表拼接成二维矩阵 #python矩阵保存到txt #python中如何输入矩阵