使用Python创建一个相关的矩阵

使用Python创建一个相关的矩阵

相关矩阵是一个包含变量之间相关系数的表格。表中的每个单元格代表两个变量之间的相关性。相关矩阵用于总结数据,作为高级分析的诊断,并作为更高级分析的输入。相关性的两个关键组成部分是:

  • 幅度:幅度越大,相关性越强。
  • 符号:如果是正数,则有规律的相关。如果是负数,则是反相关。

使用以下两个库创建了一个相关矩阵。

1.Numpy库
2.Pandas库

方法1:使用Numpy库创建一个相关矩阵

Numpy库使用corrcoef()函数,返回一个2×2的矩阵。该矩阵由x与x(0,0)、x与y(0,1)、y与x(1,0)和y与y(1,1)的相关关系组成。我们只关心x与y的相关性,即单元格(0,1)或(1,0)。请看下面的例子。

例子1:假设一家冰激凌店记录了冰激凌的总销量与当天的温度。

import numpy as np
 
 
# x represents the total sale in
# dollars
x = [215, 325, 185, 332, 406, 522, 412,
     614, 544, 421, 445, 408],
 
# y represents the temperature on
# each day of sale
y = [14.2, 16.4, 11.9, 15.2, 18.5, 22.1,
     19.4, 25.1, 23.4, 18.1, 22.6, 17.2]
 
# create correlation matrix
matrix = np.corrcoef(x, y)
 
# print matrix
print(matrix)

输出

[[1.         0.95750662]
 [0.95750662 1.        ]]

从上述矩阵中,如果我们看到单元格(0,1)和(1,0)都有相同的值,等于0.95750662,这使我们得出结论,只要温度高,我们就有更多的销售。

例子2:假设我们得到了男孩的葡萄糖水平与年龄的关系。找出年龄(x)与体内葡萄糖水平(y)之间的相关性。

import numpy as np
 
 
# x represents the age
x = [43, 21, 25, 42, 57, 59]
 
# y represents the glucose level
# corresponding to that age
y = [99, 65, 79, 75, 87, 81]
 
# correlation matrix
matrix = np.corrcoef(x, y)
print(matrix)

输出

[[1.        0.5298089]
 [0.5298089 1.       ]]

从上面的相关矩阵来看,0.5298089或52.98%,意味着该变量具有适度的正相关关系。

方法2:使用Pandas库创建相关矩阵

为了创建一个给定数据集的相关矩阵,我们在数据集上使用corr()方法。

示例 1:

import pandas as pd
 
 
# collect data
data = {
    'x': [45, 37, 42, 35, 39],
    'y': [38, 31, 26, 28, 33],
    'z': [10, 15, 17, 21, 12]
}
 
# form dataframe
dataframe = pd.DataFrame(data, columns=['x', 'y', 'z'])
print("Dataframe is : ")
print(dataframe)
 
# form correlation matrix
matrix = dataframe.corr()
print("Correlation matrix is : ")
print(matrix)

输出:

Dataframe is : 
    x   y   z
0  45  38  10
1  37  31  15
2  42  26  17
3  35  28  21
4  39  33  12
Correlation matrix is :
          x         y         z
x  1.000000  0.518457 -0.701886
y  0.518457  1.000000 -0.860941
z -0.701886 -0.860941  1.000000

示例 2:

使用Python创建一个相关的矩阵

import pandas as pd
 
 
# create dataframe from file
dataframe = pd.read_csv("C:\\GFG\\sample.csv")
 
# show dataframe
print(dataframe)
 
# use corr() method on dataframe to
# make correlation matrix
matrix = dataframe.corr()
 
# print correlation matrix
print("Correlation Matrix is : ")
print(matrix)

输出:

Correlation Matrix is : 
                     AVG temp C  Ice Cream production
AVG temp C              1.000000              0.718032
Ice Cream production    0.718032              1.000000

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy教程