如何在 Python 中创建 seaborn 相关热图?
数据集中两对变量之间的相关强度和方向以图形方式显示在相关热图中,该热图描绘了相关矩阵。这是在海量数据集中查找模式和连接的有效技术。
Python 数据可视化工具包 Seaborn 提供了用于生成统计视觉效果的简单实用程序。借助其创建相关热图的功能,用户可以快速查看数据集的相关矩阵。
我们必须导入数据集,计算变量的相关矩阵,然后使用 Seaborn heatmap 函数生成热图以构建相关热图。热图显示一个矩阵,其中的颜色表示变量之间的相关程度。此外,用户可以在热图上显示相关系数。
Seaborn 相关热图是一种有效的可视化技术,可用于检查数据集中的模式和关系,并可用于精确定位关键变量以进行进一步调查。
使用 Heatmap() 函数
heatmap 函数生成一个颜色编码矩阵,说明数据集中两对变量之间的关联强度。heatmap 函数要求我们为其提供变量的相关矩阵,该矩阵可以使用 Pandas 数据框的 corr 方法计算。 heatmap 函数提供了广泛的可选选项,使用户能够更改热图的视觉外观,包括配色方案、注释、绘图大小和位置。
语法
import seaborn as sns sns.heatmap(data, cmap=None, annot=None)
上述函数中的参数数据是一个表示输入数据集的相关矩阵。用于为热图着色的颜色图称为 cmap。
示例 1
在此示例中,我们在 Python 中创建了一个 seaborn 相关热图。首先,我们导入 seaborn 和 matplotlib 库,并使用 Seaborn 的 load dataset 函数加载鸢尾花数据集。数据集包含 SepalLength、SepalWidth、PetalLength 和 PetalWidth 变量。鸢尾花数据集包括鸢尾花萼片长度、萼片宽度、花瓣长度和花瓣宽度的测量值。这是信息的一个示例 −
Serial no | sepal_length | sepal_width | petal_length | petal_width | species |
---|---|---|---|---|---|
0 | 5.1 | 3.5 | 1.4 | 0.2 | setosa |
1 | 4.9 | 3.0 | 1.4 | 0.2 | Setosa |
2 | 4.7 | 3.2 | 1.3 | 0.2 | Setosa |
3 | 4.6 | 3.1 | 1.5 | 0.2 | Setosa |
4 | 5.0 | 3.6 | 1.4 | 0.2 | setosa |
用户可以使用 Seaborn 的加载数据集方法将鸢尾花数据集加载到 Pandas DataFrame 中。然后使用 Pandas 数据框的 corr 方法计算变量的相关矩阵,并将其保存在名为 corr_matrix 的变量中。我们使用 Seaborn 的热图方法生成热图。我们传递相关矩阵 corr_matrix 并将 cmap 参数设置为"coolwarm",以使用各种颜色表示与函数的正相关和负相关。最后,我们使用 matplotlib 的 show 方法中的 pyplot 模块来显示热图。
# 所需库 import seaborn as sns import matplotlib.pyplot as plt # 将鸢尾花数据集加载到 Pandas 数据框中 iris_data = sns.load_dataset('iris') # 创建鸢尾花数据集的相关矩阵 iris_corr_matrix = iris_data.corr() print(iris_corr_matrix) # 使用 Seaborn 的 `heatmap` 函数创建热图 sns.heatmap(iris_corr_matrix, cmap='coolwarm', annot=True) # 使用 matplotlib 中 `pyplot` 模块的 `show` 方法显示热图。 plt.show()
输出
sepal_length sepal_width petal_length petal_width sepal_length 1.000000 -0.117570 0.871754 0.817941 sepal_width -0.117570 1.000000 -0.428440 -0.366126 petal_length 0.871754 -0.428440 1.000000 0.962865 petal_width 0.817941 -0.366126 0.962865 1.000000
示例 2
在此示例中,我们再次在 Python 中创建 seaborn 相关性热图。首先,我们导入 seaborn 和 matplotlib 库,并使用 Seaborn 的加载数据集函数加载钻石数据集。钻石数据集包含有关钻石成本和特征的详细信息,包括其克拉重量、切工、颜色和净度。这是信息的示例 −
Serial no | carat | cut | color | clarity | depth | table | price | x | y | z |
---|---|---|---|---|---|---|---|---|---|---|
0 | 0.23 | Ideal | E | SI2 | 61.5 | 55.0 | 326 | 3.95 | 3.98 | 2.43 |
1 | 0.21 | Premium | E | SI1 | 59.8 | 61.0 | 326 | 3.89 | 3.84 | 2.31 |
2 | 0.23 | Good | E | VS1 | 56.9 | 65.0 | 327 | 4.05 | 4.07 | 2.31 |
3 | 0.29 | Premium | I | VS2 | 62.4 | 58.0 | 334 | 4.20 | 4.23 | 2.63 |
4 | 0.31 | Good | J | SI2 | 63.3 | 58.0 | 335 | 4.34 | 4.35 | 2.75 |
可以使用 Seaborn 的加载数据集函数将钻石数据集加载到 Pandas DataFrame 中。接下来,使用 Pandas 数据框的 corr 方法,计算变量的相关矩阵并将其存储在名为 diamond_corr_matrix 的变量中。为了利用不同的颜色来表示函数的正相关和负相关,我们传递相关矩阵 corr matrix 并将 cmap 选项设置为"coolwarm"。最后,我们使用 matplotlib 的 show 方法中的 pyplot 模块来显示热图。
# 所需库 import seaborn as sns import matplotlib.pyplot as plt # 将钻石数据集加载到 Pandas 数据框中 diamonds_data = sns.load_dataset('diamonds') # 计算变量的相关矩阵 diamonds_corr_matrix = diamonds_data.corr() print(diamonds_corr_matrix) # 使用 Seaborn 的 `heatmap` 函数创建热图 sns.heatmap(diamonds_corr_matrix, cmap='coolwarm', annot=True) # 使用 matplotlib 中 `pyplot` 模块的 `show` 方法显示热图。 plt.show()
输出
carat depth table price x y z carat 1.000000 0.028224 0.181618 0.921591 0.975094 0.951722 0.953387 depth 0.028224 1.000000 -0.295779 -0.010647 -0.025289 -0.029341 0.094924 table 0.181618 -0.295779 1.000000 0.127134 0.195344 0.183760 0.150929 price 0.921591 -0.010647 0.127134 1.000000 0.884435 0.865421 0.861249 x 0.975094 -0.025289 0.195344 0.884435 1.000000 0.974701 0.970772 y 0.951722 -0.029341 0.183760 0.865421 0.974701 1.000000 0.952006 z 0.953387 0.094924 0.150929 0.861249 0.970772 0.952006 1.000000
热图是一种有益的图形表示,seaborn 使其变得简单易用。