Python Seaborn綜合指南,成為資料視覺化專家

磐創AI發表於2019-10-22

概述

  • Seaborn是Python流行的資料視覺化庫

  • Seaborn結合了美學和技術,這是資料科學專案中的兩個關鍵要素

  • 瞭解其Seaborn作原理以及使用它生成的不同的圖表

介紹

一個精心設計的視覺化程式有一些特別之處。顏色突出,層次很好地融合在一起,整個輪廓流動,整個程式不僅有一個很好的美學質量,它也為我們提供了有意義的技術洞察力。

這在資料科學中非常重要,因為我們經常處理大量雜亂的資料。對於資料科學家來說,具有視覺化的能力是至關重要的。我們的利益相關者或客戶將更多地依賴於視覺提示,而不是複雜的機器學習模型。

有大量優秀的Python視覺化庫可用,包括內建的matplotlib。但Seaborn對我來說很重要。它將美學魅力與技術洞察力無縫地結合在一起,我們很快就會看到這一點。

Python Seaborn綜合指南,成為資料視覺化專家

在本文中,我們將瞭解什麼是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 np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
from 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平臺上檢視這個和其他高質量的資料集。因此,請在繼續之前下載上述兩個資料集。我們將一起使用它們。

相關文章