水平在seaborn kde图中是什么意思?

问题描述

我正在尝试绘制2d数据的轮廓图。但是,我想手动输入轮廓。我在seaborn.kde documentation中找到了“级别”选项,可以在其中手动定义轮廓的级别。但是,我不知道这些水平意味着什么。文档给出了此定义-

水平对应于密度的等比例。

密度的等比例是什么意思? 有什么我可以阅读的参考书吗?

解决方法

基本上,绘制{0.05}对应于level的轮廓线,以使分布的5%位于其“下方”。或者,由于在整个密度上的积分等于1(因此使它成为PDF),因此轮廓线外部区域上的积分将为0.05。

,

此处的level描述了低于给定阈值的累积质量。如documentation中的示例所述。

用于绘制轮廓的轮廓级别或值的数量。向量自变量必须在[0,1]中具有递增的值。水平对应于密度的等比例:例如,概率质量的20%将位于为0.2绘制的轮廓线以下。仅与双变量数据相关

您可以通过两种方式描述等级-

  1. 在概率质量函数中指定所需的分区数(级别= 5会使4条轮廓线将概率质量函数划分为5个部分)
  2. 明确地将每个轮廓的阈值称为矢量

此处提到的分区描述了等高线图之外的区域。因此,0.2表示20%的概率质量位于表示20%的第一个轮廓之外。使用以下代码可以使这一点更加清楚。

我将在下面列出两种实现方式。

import seaborn as sns
geyser = sns.load_dataset("geyser",)

#Levels as equal cuts in the probability mass function
sns.kdeplot(
    data=geyser,x="waiting",y="duration",hue="kind",levels=5
)

enter image description here

#Levels as explicitly described cuts in the probability mass function
sns.kdeplot(
    data=geyser,levels=[0.3,0.4,0.8]
)

enter image description here

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...