概述

  • Seaborn是Python流行的数据可视化库
  • Seaborn结合了美学和技术,这是数据科学项目中的两个关键要素
  • 了解其Seaborn作原理以及使用它生成的不同的图表

介绍

一个精心设计的可视化程序有一些特别之处。颜色突出,层次很好地融合在一起,整个轮廓流动,整个程序不仅有一个很好的美学质量,它也为我们提供了有意义的技术洞察力。

这在数据科学中非常重要,因为我们经常处理大量杂乱的数据。对于数据科学家来说,具有可视化的能力是至关重要的。我们的利益相关者或客户将更多地依赖于视觉提示,而不是复杂的机器学习模型。

有大量优秀的Python可视化库可用,包括内置的matplotlib。但Seaborn对我来说很重要。它将美学魅力与技术洞察力无缝地结合在一起,我们很快就会看到这一点。




python 生成标准正交基 python 生成正态分布_python 一组数据 正态分布散点图


在本文中,我们将了解什么是seaborn以及为什么应该使用它而不是matplotlib。然后我们将使用seaborn在Python中为数据生成各种不同的可视化。

目录

  • 什么是Seaborn?
  • 为什么应该使用Seaborn而不是matplotlib?
  • 搭建环境
  • 使用Seaborn进行数据可视化
  • 可视化统计关系
  • 用分类数据绘图
  • 可视化数据集的分布

什么是Seaborn?

你曾经在R中使用过ggplot2库吗?它是任何工具或语言中最好的可视化包之一。Seaborn给了我同样的感觉。

Seaborn是一个构建在matplotlib之上的一个非常完美的Python可视化库。

它使我们能够创建放大的数据视觉效果。这有助于我们理解数据,通过在可视上下文中显示数据来发现变量或趋势之间的任何隐藏相关性,而这些相关性最初可能并不明显。与Matplotlib的低级接口相比,Seaborn具有高级接口。

为什么应该使用Seaborn而不是matplotlib?

我一直在谈论Seaborn是多么的棒,所以你可能想知道我为什么这么大惊小怪。

当我们使用seaborn生成图时,我将以实际的方式全面地回答这个问题。现在,让我们快速讨论一下seaborn为什么在matplotlib之上。

Seaborn使我们的图表和绘图看起来很吸引人,并支持一些常见的数据可视化需求(比如将颜色映射到变量或使用分面(faceting))。从根本上说,它使数据可视化和探索变得很容易。相信我,这在数据科学中不是一件容易的事。

如果Matplotlib"试图让简单的事情变得简单,而让困难的事情变得可能",那么seaborn也尝试让一组定义良好的困难事情变得简单。——迈克尔·瓦斯科姆(Seaborn的创始人)

在matplotlib中有几个(很大的)限制是Seaborn已经修复的:

  1. Seaborn提供了大量的高级接口和自定义主题,而matplotlib没有这些接口,因为很难确定哪些设置使图表更吸引人
  2. Matplotlib函数不能很好地处理数据流,而seaborn可以

这第二点在数据科学中很突出,因为我们经常使用数据模型。

搭建环境

seaborn库具有四个必需的必需依赖项:

  • NumPy (>= 1.9.3)
  • SciPy (>= 0.14.0)
  • matplotlib (>= 1.4.3)
  • Pandas (>= 0.15.2)

要安装Seaborn并有效地使用它,首先需要安装前面提到的依赖项。一旦这一步完成,我们都准备安装Seaborn和享受其迷人的绘图。要安装Seaborn,可以使用以下代码

要安装最新版本的seaborn,你可以使用pip:

pip install seaborn

你也可以使用conda安装最新版本的seaborn:

conda install seaborn

要在代码中导入依赖项和seaborn本身,可以使用以下代码

import numpy as npimport matplotlib.pyplot as pltimport seaborn as snsimport pandas as pdfrom scipy import stats

就是这样!我们都准备好了详细地探索seaborn。

用于数据可视化的数据集

我们将主要处理两个数据集:

  • 人力资源分析(https://datahack.analyticsvidhya.com/contest/wns-analytics-hackathon-2018-1/)
  • 预测投票数(https://datahack.analyticsvidhya.com/contest/enigma-codefest-machine-learning-1/)

之所以选择这两个,是因为它们包含多个变量,因此我们有很多选择可以使用。这两个数据集还可以模拟现实情况,因此你将了解数据可视化和了解业内的数据可视化方式。

你可以在DataHack平台上查看这个和其他高质量的数据集。因此,请在继续之前下载上述两个数据集。我们将一起使用它们。

使用Seaborn进行数据可视化

让我们开始吧!我已将此实现部分分为两类:

  • 可视化统计关系
  • 绘制分类数据

我们将研究每个类别的多个示例,以及如何使用seaborn对其进行绘制。

可视化统计关系

统计关系表示理解数据集中不同变量之间的关系以及这种关系如何影响或依赖于其他变量的过程。

在这里,我们将使用seaborn生成以下图:

  • Scatter plot (散点图)
  • SNS.relplot
  • Hue plot (Hue图)

我选择了预测投票数数据集。所以,让我们导入数据集:

df = pd.read_csv(r"train.csv")df.head()


python 生成标准正交基 python 生成正态分布_python 一组数据 正态分布散点图_02


使用Seaborn绘制散点图

散点图可能是可视化两个变量之间关系的最常见的例子。每个点在数据集中显示一个观察值,这些观察值用点状结构表示。图中显示了两个变量的联合分布。

为了绘制散点图,我们将使用seaborn库的relplot()函数。它是可视化统计关系的图形级角色。默认情况下,使用relplot会生成散点图:

sns.relplot(x="Views