PHP前端开发

如何在Python中创建seaborn相关热图?

百变鹏仔 2周前 (01-20) #Python
文章标签 热图

在数据集中,两个变量对之间的相关性的强度和方向通过相关性热图进行图形化展示,该图展示了相关矩阵。这是一种在大规模数据集中寻找模式和连接的有效技术。

Python数据可视化工具Seaborn提供了简单的工具来生成统计可视化图形。用户可以通过其创建相关热图的功能快速查看数据集的相关矩阵。

我们必须导入数据集,计算变量的相关矩阵,然后使用 Seaborn 热图函数生成热图来构建相关热图。热图显示一个矩阵,其颜色表示变量之间的相关程度。此外,用户还可以在热图上显示相关系数。

Seaborn 相关热图是一种有效的可视化技术,用于检查数据集中的模式和关系,可用于查明关键变量以进行进一步调查。

使用Heatmap()函数

heatmap函数生成一个颜色编码的矩阵,用于说明数据集中两对变量之间的相关性强度。heatmap函数需要我们提供变量的相关矩阵,可以使用Pandas数据框的corr方法计算。heatmap函数提供了许多可选选项,使用户能够修改热图的视觉效果,包括颜色方案、注释、图表大小和位置。

立即学习“Python免费学习笔记(深入)”;

语法

import seaborn as snssns.heatmap(data, cmap=None, annot=None)

上述函数中的参数data是表示输入数据集的相关矩阵。用于着色热力图的颜色映射被称为cmap。

Example 1

的中文翻译为:

示例1

在此示例中,我们使用 Python 创建一个 seaborn 相关热图。首先,我们导入seaborn和matplotlib库,并使用Seaborn的加载数据集函数加载iris数据集。该数据集包含 SepalLength、SepalWidth、PetalLength 和 PetalWidth 变量。鸢尾花数据集包括鸢尾花的萼片长度、萼片宽度、花瓣长度和花瓣宽度的测量值。这是信息的示例 -

的中文翻译为: 的翻译为: 翻译成中文为:
序号sepal_lengthsepal_width花瓣长度花瓣宽度物种
05.13.53.51.40.2丝滑
14.93.01.40.2丝滑
24.73.21.30.2丝滑
34.64.63.11.50.2丝滑
45.05.03.61.40.2丝滑

用户可以使用Seaborn的load dataset方法将鸢尾花数据集加载到Pandas DataFrame中。然后使用Pandas数据帧的corr方法计算变量的相关矩阵,并保存在一个名为corr_matrix的变量中。我们使用Seaborn的heatmap方法生成热力图。我们将相关矩阵corr_matrix传递给函数,并将cmap参数设置为"coolwarm"以使用不同的颜色表示正负相关。最后,我们使用matplotlib的pyplot模块的show方法显示热力图。

# Required libraries import seaborn as snsimport matplotlib.pyplot as plt# Load the iris dataset into a Pandas dataframeiris_data = sns.load_dataset('iris')# Creating the correlation matrix of the iris datasetiris_corr_matrix = iris_data.corr()print(iris_corr_matrix)# Create the heatmap using the `heatmap` function of Seabornsns.heatmap(iris_corr_matrix, cmap='coolwarm', annot=True)# Display the heatmap using the `show` method of the `pyplot` module from matplotlib.plt.show()

输出

              sepal_length  sepal_width  petal_length  petal_widthsepal_length      1.000000    -0.117570      0.871754     0.817941sepal_width      -0.117570     1.000000     -0.428440    -0.366126petal_length      0.871754    -0.428440      1.000000     0.962865petal_width       0.817941    -0.366126      0.962865     1.000000

示例 2

在这个示例中,我们再次使用Python创建一个seaborn相关性热图。首先,我们导入seaborn和matplotlib库,并使用Seaborn的load dataset函数加载钻石数据集。钻石数据集包括钻石的成本和特征的详细信息,包括它们的克拉重量、切割、颜色和净度。这是一个信息的例子 −

的中文翻译为:的中文翻译为: 的翻译为: 翻译成中文为:的中文翻译为:的中文翻译为: 的中文翻译为:的中文翻译为:
序号克拉cutcut颜色清晰度depth深度价格xyz
00.23IdealIdealESI261.555.055.03263.953.953.982.43
10.21高级版ESI159.861.03263.893.842.31
20.23EVS156.965.03274.054.072.31
30.29高级版IIVS262.462.458.03344.204.232.63
40.31JSI263.358.03354.344.352.752.75

可以使用 Seaborn 的加载数据集函数将钻石数据集加载到 Pandas DataFrame 中。接下来,使用 Pandas 数据帧的 corr 方法,计算变量的相关矩阵并将其存储在名为 Diamond_corr_matrix 的变量中。为了利用不同的颜色来表示与函数的正相关和负相关,我们传递相关矩阵 corr 矩阵并将 cmap 选项设置为“coolwarm”。最后,我们使用 matplotlib 的 show 方法中的 pyplot 模块来显示热图。

# Required libraries import seaborn as snsimport matplotlib.pyplot as plt# Load the diamond dataset into a Pandas dataframediamonds_data = sns.load_dataset('diamonds')# Compute the correlation matrix of the variablesdiamonds_corr_matrix = diamonds_data.corr()print(diamonds_corr_matrix)# Create the heatmap using the `heatmap` function of Seabornsns.heatmap(diamonds_corr_matrix, cmap='coolwarm', annot=True)# Display the heatmap using the `show` method of the `pyplot` module from matplotlib.plt.show()

输出

          carat     depth     table     price         x         y         zcarat  1.000000  0.028224  0.181618  0.921591  0.975094  0.951722  0.953387depth  0.028224  1.000000 -0.295779 -0.010647 -0.025289 -0.029341  0.094924table  0.181618 -0.295779  1.000000  0.127134  0.195344  0.183760  0.150929price  0.921591 -0.010647  0.127134  1.000000  0.884435  0.865421  0.861249x      0.975094 -0.025289  0.195344  0.884435  1.000000  0.974701  0.970772y      0.951722 -0.029341  0.183760  0.865421  0.974701  1.000000  0.952006z      0.953387  0.094924  0.150929  0.861249  0.970772  0.952006  1.000000

热图是一种有益的图形表示形式,seaborn 使其变得简单易用。