📜  在Python中探索相关性

📅  最后修改于: 2022-05-13 01:55:04.073000             🧑  作者: Mango

在Python中探索相关性

本文旨在更好地理解一种非常重要的多元探索技术。

相关矩阵基本上是一个协方差矩阵。也称为自协方差矩阵、色散矩阵、方差矩阵或方差-协方差矩阵。它是一个矩阵,其中 ij 位置定义了给定数据集的第i和第j参数之间的相关性。

当数据点遵循大致直线趋势时,变量被称为具有近似线性关系。在某些情况下,数据点接近于一条直线,但更多情况下,直线趋势周围的点存在相当多的可变性。称为相关性的汇总度量描述了线性关联的强度。相关性总结了两个定量变量之间线性(直线)关联的强度和方向。用r表示,它的取值介于 -1 和 +1 之间。 r的正值表示正关联, r的负值表示负关联。
r越接近1 ,数据点越接近直线,线性关联越强。 r越接近 0,线性关联越弱。

要获取 House_price 数据的链接,请单击此处。

加载库

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from scipy.stats import norm

加载数据中

data = pd.read_csv("House Price.csv")
data.shape

输出:

(1460, 81)

“销售价格”说明

data['SalePrice'].describe()

输出:

count      1460.000000
mean     180921.195890
std       79442.502883
min       34900.000000
25%      129975.000000
50%      163000.000000
75%      214000.000000
max      755000.000000
Name: SalePrice, dtype: float64

直方图

plt.figure(figsize = (9, 5))
data['SalePrice'].plot(kind ="hist")

输出:

代码 #1:相关矩阵

corrmat = data.corr()
  
f, ax = plt.subplots(figsize =(9, 8))
sns.heatmap(corrmat, ax = ax, cmap ="YlGnBu", linewidths = 0.1)

输出:

代码 #2:网格相关矩阵

corrmat = data.corr()
  
cg = sns.clustermap(corrmat, cmap ="YlGnBu", linewidths = 0.1);
plt.setp(cg.ax_heatmap.yaxis.get_majorticklabels(), rotation = 0)
  
cg

输出:

代码 #3: Saleprice 的相关性

# saleprice correlation matrix
# k : number of variables for heatmap
k = 15 
  
cols = corrmat.nlargest(k, 'SalePrice')['SalePrice'].index
  
cm = np.corrcoef(data[cols].values.T)
f, ax = plt.subplots(figsize =(12, 10))
  
sns.heatmap(cm, ax = ax, cmap ="YlGnBu",
            linewidths = 0.1, yticklabels = cols.values, 
                              xticklabels = cols.values)

输出: