一、前言

在数据分析中,我们经常需要快速了解特征之间的关系

  • 哪些变量正相关?

  • 哪些变量负相关?

  • 哪些变量几乎不相关?

热力图(Heatmap)是可视化相关性的利器,能让数据特征之间的联系一目了然。


二、热力图简介

热力图是一种二维数据可视化方法,
通过颜色深浅表示数值大小或关系强弱。

在数据分析中,热力图常用于:

  1. 📊 相关性矩阵可视化

  2. 🔍 缺失值分布分析

  3. 💡 特征工程与特征选择参考


三、准备数据

我们以鸢尾花数据集为例:


import seaborn as sns import pandas as pd df = sns.load_dataset('iris') df.head()

数据包含四个数值特征:sepal_length, sepal_width, petal_length, petal_width


四、计算相关性矩阵


corr = df.corr() print(corr)

输出示例:

sepal_length sepal_width petal_length petal_width
sepal_length 1.00 -0.12 0.87 0.82
sepal_width -0.12 1.00 -0.42 -0.36
petal_length 0.87 -0.42 1.00 0.96
petal_width 0.82 -0.36 0.96 1.00

五、绘制热力图


import matplotlib.pyplot as plt plt.figure(figsize=(8,6)) sns.heatmap(corr, annot=True, cmap='coolwarm', fmt=".2f") plt.title('特征相关性热力图') plt.show()

  • 颜色深浅表示相关性强弱

  • annot=True 显示具体数值

  • 正相关为暖色,负相关为冷色


六、分析热力图结果

从图中可以观察到:

  • petal_lengthpetal_width 高度正相关(0.96)

  • sepal_width 与其他特征相关性较低

  • 可用于后续特征选择或降维分析


七、热力图在实际场景中的应用

  1. 💹 金融领域:分析股票指标或风险因素的相关性

  2. 🛍️ 电商数据:分析用户行为特征之间的关系

  3. 🧪 科研实验:变量间相关性可视化

  4. 🧠 机器学习特征工程:挑选高相关或低相关特征

热力图让数据探索直观且高效,是EDA中必备工具。


八、进阶应用

  • 🔹 缺失值可视化


sns.heatmap(df.isnull(), cbar=False, cmap='viridis') plt.title('缺失值分布热力图') plt.show()

  • 🔹 聚类相关性热力图:可以先对变量或样本进行聚类,再绘制热力图,观察特征组合模式。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐