相关系数矩阵热力图

  |  

摘要: 相关系数矩阵热力图的代码模板

【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:潮汐朝夕
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


本文是相关系数热力图的代码模板。

pearson 相关系数衡量的是线性相关关系。若 r = 0,只能说 x 与 y 之间无线性相关关系,不能说无相关关系。相关系数的绝对值越大,相关性越强:相关系数越接近于 1 或 -1,相关度越强,相关系数越接近于 0,相关度越弱。

对于 x, y 之间的相关系数 r:

  • (0, 1): x 和 y 正相关关系
  • (-1, 0): x 和 y 负相关关系
  • 1: x 和 y 完全正相关
  • -1: x 和 y 完全负相关
  • 0: x 和 y 不相关
  • 0.8-1.0 极强相关
  • 0.6-0.8 强相关
  • 0.4-0.6 中等程度相关
  • 0.2-0.4 弱相关
  • 0.0-0.2 极弱相关或无相关
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
df = pd.read_csv("2018-07-20_2018-07-27.csv")
columns = [x for x in df.columns if x not in ["date", "instrument"]]

# 获取相关系数
corr = df[columns].corr()
mask = np.zeros_like(corr)
# 获取上三角索引,并将 mask 对应位置置为 True
mask[np.triu_indices_from(mask)] = True

with sns.axes_style("white"):
fig = plt.figure(figsize=(7, 5))
ax = fig.add_subplot(1, 1, 1)
# 热力图
ax = sns.heatmap(corr, mask=mask, vmax=3, square=True)
plt.savefig("myplot.png", bbox_inches="tight")


Share