如今,世界上最有价值的资源不再是石油,而是数据。可视化正在成为理解数十亿行数据的更重要的工具。通过将数据转换为易于解释的图形表示,数据可视化通过突出显示相关信息、模式和异常值来帮助讲述数据故事。然而,数据和图形必须协同工作:这是将出色的分析与出色的故事讲述相结合的艺术。在这篇博文中,我们将向您展示“Sea Born”,这是用 Python 编写的最著名的可视化工具之一。
可视化工具
我们使用可视化工具来可视化趋势、模式、异常值和变量之间的关系。这是一项非常需要的技能,尤其是对于数据科学职业来说。
希博恩
Seaborn是一个基于matplotlib的Python数据可视化库。它提供了一个高级界面,用于绘制有吸引力且信息丰富的统计图形。
Seaborn 绘图功能:
在seaborn中,我们有3类地块
-
分类图。
-
分布图。
-
关系图。
分类图
我们使用seaborn的分类绘图函数来可视化一个分类变量的趋势,或者可视化两个变量之间至少有一个分类变量之间的关系。
计数图:
- 显示分类变量中每个类别的观察计数。我们简单地计算变量每个类别的观察数量
seaborn.catplot(kind = 'count',
data = dataset,
x = 'variable')
条形图:
-
表示对连续变量的趋势估计,其中矩形的高度为分类变量的每个类别。因此,绘图函数采用两个变量作为输入,一个是连续变量,另一个是校准类别变量。对于变量_1 中的每个类别,我们计算变量_2 的趋势。
-
趋势可以是均值、方差,或者你可以传递一些自定义函数......
seaborn.catplot(kind = 'bar',**data = dataset,**
x = 'variable_1',**y = 'variable_2',**
estimator = np.mean)**
带状图:
- 带状图是数据可视化中最简单、最直接的图之一,我们只需绘制代表连续变量值的点。对于变量 1 的每个类别,我们将绘制变量 2 的值。
seaborn.catplot(kind = 'strip',
data = dataset,
x = 'variable_1',
y = 'variable_2',
jitter = 0.15)
群体图:
-
群图与带状图非常相似,因为它具有完全相同的功能。唯一的区别在于它如何显示点。在带状图中,数据点可能会重叠,因为它们随机放置在 x 轴上,而在群图中,我们通过将点堆叠在一起来确保点不会重叠。
-
这里的缺点是,如果我们有很多数据点,那么它们不可能不重叠,因此算法会删除一些数据点以便不重叠。
seaborn.catplot(kind = 'swarm',
data = dataset,
x = 'variable_1',
y = 'variable_2')
箱线图:
-
箱线图用于表示连续变量对于分类变量的每个类别的分布。尽管它很简单,但它产生了很多信息:
-
四分位数的值:
盒子内部有一条水平线,代表中位数。上面的水平线是上四分位数,下面的水平线是下四分位数。
- 异常值:
注意,有一些点在框外,这些点代表异常值
seaborn.catplot(kind = 'box',
data = dataset,
x = 'variable_1',
y = 'variable_2')
小提琴情节:
小提琴图将使用 KDE(核密度估计)绘制分类变量每个类别的连续变量的实际分布,而不是绘制分布框
seaborn.catplot(kind = 'violin',
data = dataset,
x = 'variable_1',
y = 'variable_2')
分布图:
我们使用seaborn的分布绘图函数来可视化连续变量的分布。
历史情节:
直方图表示使用箱的连续变量的分布。
seaborn.distplot(kind = 'hist',
data = dataset,
x = 'variable',
bins = 20)
KDE 图:
Kde 图使用核密度估计表示数据的实际分布。
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable')
它还可以用来表示两个连续变量的二元分布。
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable_1',
y = 'variable_2')
ECDF 图:
ECDF 图表示连续变量的经验累积分布。
seaborn.distplot(kind = 'ecdf',
data = dataset,
x = 'variable')
关系图:
我们使用seaborn的关系绘图函数来可视化连续变量之间的关系。
散点图:
- 它通过简单地绘制所有数据点来显示两个连续变量之间的关系。
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2')
线图:
- 将变量之间的关系表示为连续函数。
seaborn.relplot(kind = 'line',
data = dataset,
x = 'variable_1',
y = 'variable_2')
更多功能:
您可能已经注意到,在所有绘图函数中,每个绘图最多使用两个变量,但是如果我们想在可视化中引入更多变量怎么办?幸运的是 Seaborn 解决了这个问题:
色调:
- 使用色调,我们可以使用颜色编码引入对我们的可视化进行分类的第三个变量,这意味着属于该第三个变量的同一类别的数据点将具有相同的颜色。
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3')
尺寸:
- 尺寸与色调类似,但使用尺寸编码而不是颜色编码。这意味着属于第三个变量同一类别的数据点将具有相同的唯一大小。不同的尺寸意味着不同的类别。
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
size = 'variable_3',
sizes = [50, 100])
风格:
- 与 Hue 和 Size 几乎相同,这意味着属于第三个变量的同一类别的数据点将具有相同的独特风格。点样式可以是点、星形、十字形、三角形……我们称之为标记。
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
style = 'variable_3',
markers = ['X', '*'])
我们还可以使用多个图引入一个新的分类变量,每个图都属于 cate 分类变量中的一个类别:
科尔:
将根据第三个变量的类别水平创建许多图形。
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
col = 'variable_3')
排:
将根据第三个变量的类别垂直创建许多图形。
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
row = 'variable_3')
我们还可以在同一个图中使用 Hue 和 Size 来表示 4 个变量,甚至可以使用 Hue 和 Style 和 Col 在同一个图中使用 5 个变量!我们可以在同一个绘图中使用最多 7 个变量(变量 1、变量 2、色调、大小、样式、列、行),但这会给我们一个非常复杂的绘图,非常混乱且极难解释,有时甚至无法解释。信息丰富。
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3',
size = 'variable_4')
结论:
在这篇文章中,我们了解了seaborn,它的 3 类绘图函数:分类图、分布图和关系图,并且我们解释了每个类别的每个绘图函数以及 python 代码。
查看我们的数据科学训练营 以了解有关此主题的更多信息!