自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

十個實用的數(shù)據(jù)可視化的圖表總結(jié)

大數(shù)據(jù) 數(shù)據(jù)可視化
可視化是一種方便的觀察數(shù)據(jù)的方式,可以一目了然地了解數(shù)據(jù)塊。我們經(jīng)常使用柱狀圖、直方圖、餅圖、箱圖、熱圖、散點圖、線狀圖等。這些

可視化是一種方便的觀察數(shù)據(jù)的方式,可以一目了然地了解數(shù)據(jù)塊。我們經(jīng)常使用柱狀圖、直方圖、餅圖、箱圖、熱圖、散點圖、線狀圖等。這些典型的圖對于數(shù)據(jù)可視化是必不可少的。除了這些被廣泛使用的圖表外,還有許多很好的卻很少被使用的可視化方法,這些圖有助于完成我們的工作,下面我們看看有那些圖可以進行。

1、平行坐標圖(Parallel Coordinate)

我們最多可以可視化 3 維數(shù)據(jù)。但是我們有時需要可視化超過 3 維的數(shù)據(jù)才能獲得更多的信息。我們經(jīng)常使用 PCA 或 t-SNE 來降維并繪制它。在降維的情況下,可能會丟失大量信息。在某些情況下,我們需要考慮所有特征, 平行坐標圖有助于做到這一點。

上面的圖片。橫線(平行軸)表示鳶尾花的特征(花瓣長、萼片長、萼片寬、花瓣寬)。分類是Setosa, Versicolor和Virginica。上圖將該物種編碼為Setosa→1,Versicolor→2,Virginica→3。每個平行軸包含最小值到最大值(例如,花瓣長度從1到6.9,萼片長度從4.3到7.9,等等)。例如,考慮花瓣長度軸。這表明與其他兩種植物相比,瀨蝶屬植物的花瓣長度較小,其中維珍屬植物的花瓣長度最高。

有了這個圖,我們可以很容易地獲得數(shù)據(jù)集的總體信息。數(shù)據(jù)集是什么樣子的?讓我們來看看。

讓我們用Plotly Express庫[1]可視化數(shù)據(jù)。Plotly庫提供了一個交互式繪圖工具。

 import plotly.express as px
df = px.data.iris()
fig = px.parallel_coordinates(df, color="species_id", labels={"species_id": "Species",
"sepal_width": "Sepal Width", "sepal_length": "Sepal Length",
"petal_width": "Petal Width", "petal_length": "Petal Length", },
color_continuous_scale=px.colors.diverging.Tealrose,
color_continuous_midpoint=2)
fig.show()

圖片

除了上圖以外我們還可以使用其他庫,如pandas、scikit-learn和matplotlib來繪制并行坐標。

2、六邊形分箱圖 (Hexagonal Binning)

六邊形分箱圖是一種用六邊形直觀表示二維數(shù)值數(shù)據(jù)點密度的方法。

 ax = df.plot.hexbin(x='sepal_width', y='sepal_length', gridsize=20,color='#BDE320')

我考慮了上一節(jié)的數(shù)據(jù)集來繪制上面的六邊形分箱圖。Pandas 允許我們繪制六邊形 binning [2]。我已經(jīng)展示了用于查找 sepal_width 和 sepal_length 列的密度的圖。

如果仔細觀察圖表,我們會發(fā)現(xiàn)總面積被分成了無數(shù)個六邊形。每個六邊形覆蓋特定區(qū)域。我們注意到六邊形有顏色變化。六邊形有的沒有顏色,有的是淡綠色,有的顏色很深。根據(jù)圖右側(cè)顯示的色標,顏色密度隨密度變化。比例表示具有顏色變化的數(shù)據(jù)點的數(shù)量。六邊形沒有填充顏色,這意味著該區(qū)域沒有數(shù)據(jù)點。

其他庫,如 matplotlib、seaborn、bokeh(交互式繪圖)也可用于繪制它。

3、等高線密度圖(Contour )

二維等高線密度圖是可視化特定區(qū)域內(nèi)數(shù)據(jù)點密度的另一種方法。這是為了找到兩個數(shù)值變量的密度。例如,下面的圖顯示了在每個陰影區(qū)域有多少數(shù)據(jù)點。

import plotly.express as px
fig = px.density_contour(df, x="sepal_width", y="sepal_length")
fig.update_traces(contours_coloring="fill", contours_showlabels = True)
fig.show()

為了生成上面的圖表,我這里使用了plotly庫,因為它可以方便地繪制交互式的圖表。我們這里繪制了兩個變量 sepal_width 和 sepal_length 的密度。

當然,也可以使用其他庫,如seaborn、matplotlib等。

4、QQ-plot

QQ plot是另一個有趣的圖。QQ是Quantile - Quantile plot的縮寫(Quantile/percentile是一個范圍,在這個范圍內(nèi)數(shù)據(jù)下降了指定百分比。例如,第10個quantile/percentile表示在該范圍下,找到了10%的數(shù)據(jù),90% 超出范圍)。這是一種直觀地檢查數(shù)值變量是否服從正態(tài)分布的方法。讓我解釋一下它是如何工作的。

圖片

圖(a)是樣本分布;(b) 是標準正態(tài)分布。對于樣本分布,數(shù)據(jù)范圍從 10 到 100(100% 數(shù)據(jù)在 10 到 100 之間)。但對于標準正態(tài)分布,100% 的數(shù)據(jù)在 -3 到 3(z 分數(shù))的范圍內(nèi)。在 QQ 圖中,兩個 x 軸值均分為 100 個相等的部分(稱為分位數(shù))。如果我們針對 x 和 y 軸繪制這兩個值,我們將得到一個散點圖。

圖片

散點圖位于對角線上。這意味著樣本分布是正態(tài)分布。如果散點圖位于左邊或右邊而不是對角線,這意味著樣本不是正態(tài)分布的。

導(dǎo)入必要的庫

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

生成正態(tài)分布數(shù)據(jù)。

np.random.seed(10)
# Generate Univariate Observations
gauss_data = 5 * np.random.randn(100) + 50

繪制數(shù)據(jù)點的分布。

sns.histplot(data=gauss_data, kde=True)

該圖顯示數(shù)據(jù)是正態(tài)分布的。我們用數(shù)據(jù)點做qq-plot來檢驗它是否正態(tài)分布。

import statsmodels.api as sm
# q-q plot
sm.qqplot(gauss_data, line='s')
plt.show()

該圖顯示散點位于對角線上。所以它是正態(tài)分布的。

5、小提琴圖(Violin Plot)

小提琴圖與箱線圖相關(guān)。我們能從小提琴圖中獲得的另一個信息是密度分布。簡單來說就是一個結(jié)合了密度分布的箱線圖。我們將其與箱線圖進行比較。

在小提琴圖中,小提琴中間的白點表示中點。實心框表示四分位數(shù)間距 (IQR)。上下相鄰值是異常值的圍欄。超出范圍,一切都是異常值。下圖顯示了比較。

圖片

讓我們看看小提琴圖的可視化

import seaborn as sns
sns.violinplot(data=df, y="sepal_width")

圖片

我們還可以通過傳遞名稱來繪制不同物種的小提琴圖。

import seaborn as sns
sns.violinplot(data=df,x='species', y="sepal_width")

還可以使用其他庫,如plotly、matplotlib等來繪制小提琴圖。

6、箱線圖的改進版(Boxen plot)

Boxenplot 是 seaborn 庫引入的一種新型箱線圖。對于箱線圖,框是在四分位數(shù)上創(chuàng)建的。但在 Boxenplot 中,數(shù)據(jù)被分成更多的分位數(shù)。它提供了對數(shù)據(jù)的更多內(nèi)存。

鳶尾花數(shù)據(jù)集的 Boxenplot 顯示了 sepal_width 的數(shù)據(jù)分布。

sns.boxenplot(x=df["sepal_width"])

圖片

上圖顯示了比箱線圖更多的盒。這是因為每個框代表一個特定的分位數(shù)。

sns.boxenplot(data=df, x="species",y='sepal_width')

不同物種sepal_width的Boxenplot圖。

7、點圖

下圖中有一些名為誤差線的垂直線和其他一些連接這些垂直線的線。讓我們看看它的確切含義。



點圖是一種通過上圖中顯示的點的位置來表示數(shù)值變量集中趨勢的方法,誤差條表示變量的不確定性(置信區(qū)間)[4]。繪制線圖是為了比較不同分類值的數(shù)值變量的變異性 [4]。

讓我們舉一個實際的例子——

我們繼續(xù)使用 seaborn 庫和 iris 數(shù)據(jù)集(在平行坐標部分中提到)。

import seaborn as sns
sns.pointplot(data=df,x="species", y="sepal_width")

該圖表顯示了不同花的萼片寬度的變異性。我們還可以繪制多個點圖。

8、分簇散點圖(Swarm plot)

Swarm plot 是另一個受“beeswarm”啟發(fā)的有趣圖表。通過此圖我們可以輕松了解不同的分類值如何沿數(shù)值軸分布 [5]。它在不重疊數(shù)據(jù)點的情況下繪制數(shù)據(jù)。但它不適用于大型數(shù)據(jù)集。

import seaborn as sns
sns.swarmplot(data=df,x="species", y="sepal_width")

圖片

9、旭日圖(Sunburst Chart)

它是圓環(huán)圖或餅圖的定制版本,將一些額外的層次信息集成到圖中 [7]。

圖片

整個圖表被分成幾個環(huán)(從內(nèi)到外)。它保存層次結(jié)構(gòu)信息,其中內(nèi)環(huán)位于層次結(jié)構(gòu)的頂部,外環(huán)位于較低的[7]階。

圖片

import plotly.express as px
df = px.data.tips()

圖片

繪制旭日圖

fig = px.sunburst(df, path=['sex', 'day', 'time'], values='total_bill', color='time')
fig.show()

圖片

sunburst類的path屬性提供了層次結(jié)構(gòu),其中性別位于層次結(jié)構(gòu)的頂部,然后是日期和時間。

10、詞云(Word Cloud)

詞云圖的想法非常簡單。假設(shè)我們有一組文本文檔。單詞有很多,有些是經(jīng)常出現(xiàn)的,有些是很少出現(xiàn)的。在詞云圖中,所有單詞都被繪制在特定的區(qū)域中,頻繁出現(xiàn)的單詞被高亮顯示(用較大的字體顯示)。有了這個詞云,我們可以很容易地找到重要的客戶反饋,熱門的政治議程話題等。

import pandas as pd
data=pd.read_csv('/work/android-games.csv')
data.head()

圖片

我們統(tǒng)計每個類別的數(shù)據(jù)數(shù)量

data.category.value_counts()

圖片

我們進行可視化。

#importing the module from wordcloud library
from wordcloud import WordCloud
import matplotlib.pyplot as plt

#creating a text from the category column by taking only the 2nd part of the category.
text = " ".join(cat.split()[1] for cat in data.category)

#generating the cloud
word_cloud = WordCloud(collocations = False, background_color = 'black').generate(text)
plt.imshow(word_cloud, interpolatinotallow='bilinear')
plt.axis("off")
plt.show()

圖片

該圖表顯示了頻率最高的所有類別。我們也可以用這個圖從文本中找到經(jīng)常出現(xiàn)的單詞。

總結(jié)

數(shù)據(jù)可視化是數(shù)據(jù)科學(xué)中不可缺少的一部分。在數(shù)據(jù)科學(xué)中,我們與數(shù)據(jù)打交道。手工分析少量數(shù)據(jù)是可以的,但當我們處理數(shù)千個數(shù)據(jù)時它就變得非常麻煩。如果我們不能發(fā)現(xiàn)數(shù)據(jù)集的趨勢和洞察力,我們可能無法使用這些數(shù)據(jù)。希望上面介紹的的圖可以幫助你深入了解數(shù)據(jù)。

責(zé)任編輯:華軒 來源: DeepHub IMBA
相關(guān)推薦

2022-05-30 08:37:34

可視化圖表項目開源

2022-09-21 13:24:46

Python數(shù)據(jù)可視化庫

2023-03-19 22:51:11

可視化項目可視化圖表

2015-08-20 10:04:40

可視化

2019-04-29 09:00:00

數(shù)據(jù)可視化JavaScript圖表庫

2020-03-01 14:01:22

Echarts數(shù)據(jù)可視化圖表

2021-11-04 09:10:22

CSS 技巧代碼重構(gòu)

2020-08-04 13:40:02

數(shù)據(jù)可視化熱力圖表格

2021-04-09 10:42:03

數(shù)據(jù)可視化框架大數(shù)據(jù)

2017-12-12 14:50:33

數(shù)據(jù)庫MySQL命令

2019-09-26 14:20:27

JavaScript代碼編程語言

2024-10-15 10:40:09

2015-03-06 09:55:21

數(shù)據(jù)可視化誤區(qū)渣圖表

2023-06-11 16:12:14

數(shù)據(jù)可視化圖表類型

2023-08-01 16:01:59

可視化Seaborn

2021-10-11 08:04:22

Python數(shù)據(jù)行程

2019-05-28 11:52:43

可視化圖表數(shù)據(jù)

2017-07-18 15:15:57

數(shù)據(jù)可視化細節(jié)層次分析

2017-07-13 09:21:05

大數(shù)據(jù)數(shù)據(jù)可視化

2023-10-07 09:34:03

數(shù)據(jù)可視化
點贊
收藏

51CTO技術(shù)棧公眾號