数据科学 - 统计相关性矩阵
相关性矩阵
矩阵是排列在行和列中的数字数组。
相关性矩阵仅仅是一个显示变量之间相关系数的表。
在这里,变量显示在第一行,并在第一列

上面的表格使用了完整健康数据集中的数据。
观察结果
- 我们发现“时长”和“消耗的卡路里”密切相关,相关系数为 0.89。这很合理,因为我们训练的时间越长,消耗的卡路里就越多。
- 我们发现“平均脉搏”和“消耗的卡路里”之间几乎没有线性关系(相关系数为 0.02)。
- 我们可以得出结论“平均脉搏”不影响“消耗的卡路里”吗?不。稍后我们会回来回答这个问题!
Python 中的相关性矩阵
我们可以使用 Python 中的 corr()
函数来创建相关性矩阵。我们还使用 round()
函数将输出四舍五入到小数点后两位。
输出

使用热力图
我们可以使用热力图来可视化变量之间的相关性。

相关系数越接近 1,方块的颜色就越绿。
相关系数越接近 -1,方块的颜色就越棕。
使用 Seaborn 创建热力图
我们可以使用 Seaborn 库创建一个相关性热力图(Seaborn 是一个基于 matplotlib 的可视化库)。
示例
import matplotlib.pyplot as plt
import seaborn as sns
correlation_full_health = full_health_data.corr()
axis_corr = sns.heatmap(
correlation_full_health,
vmin=-1, vmax=1, center=0,
cmap=sns.diverging_palette(50, 500, n=500),
square=True
)
plt.show()
自己动手试一试 »
示例解释
- 导入库 seaborn 作为 sns。
- 使用 full_health_data 数据集。
- 使用 sns.heatmap() 来告诉 Python 我们想要一个热力图来可视化相关性矩阵。
- 使用相关性矩阵。定义热力图的最大值和最小值。定义 0 为中心。
- 使用 sns.diverging_palette 定义颜色。n=500 意味着我们希望在同一个颜色调色板中有 500 种颜色。
- square = True 意味着我们想要看到方块。