一圖勝千言!這10種可視化技術你必須知道

全文共4549字,預計學習時長9分鐘算法

圖片來源:Willian Justen deVasconcellos on Unsplash數據庫

相比於浩如煙海的數據表格,大部分人仍是更喜歡視覺資料,這一點已不足爲奇。也是出於這個緣由,人們一般纔會在學術論文的前幾頁加上一張圖表,而且清楚地標記上各類註釋。微信

當數據科學家應用可視化技術後,數據的分佈狀況以及分析的重點將清楚而直觀地展示在他們眼前。這種感受異常奇妙!機器學習

數據可視化技術主要有兩大功能:函數

1. 將分析結果更加清晰地展示出來。工具

2. 將數據有效組織起來,利於提出新的猜測,或引導某一項目下一步的走向。學習

本文將會介紹到十種可視化技術。之後,不管你是想讓你們承認理論,仍是爲了規劃項目的下一步計劃,這些可視化方法都能幫助你分析數據。測試

1. 直方圖編碼

首先來了解一下直方圖。經過直方圖,能夠縱觀某個數值變量全部可能的值,以及其出現的頻率。直方圖看似簡單,實際上功能卻很強大。有時,直方圖也被稱爲頻數分佈圖。人工智能

從視覺效果上來講,須要畫一個頻率圖,把相關變量排布在X軸上,而Y軸顯示的則是每一個值出現的頻率。

例如,假設某個公司爲了使本身的智能恆溫器更加暢銷,因而採起了一種營銷策略,即根據顧客郵政編碼的不一樣來提供相應的折扣。這時,經過繪製與恆溫器折扣相關的直方圖,人們就能更好地瞭解各個值的範圍,以及它們各自出現的頻率。

恆溫器折扣直方圖(單位:美圓)

從上圖能夠發現,恆溫器的折扣大約有半數介於100到120美圓之間。而折扣低於60美圓或者高於140美圓的郵編,都只存在一小部分。

資料來源:https://ibm.box.com/s/6fltz5ilap8pbwzu2tt1yxil6ldosc9d

2. 條形圖與餅狀圖

上文所講的直方圖一般用於處理數值變量,而本段所涉及的條形圖與餅狀圖則主要適用於類別變量。若是要分析變量分佈,而且這些變量的值又比較固定,好比只存在低、正常、高,是、否,或者常規驅動、電驅動、混合驅動等有限選項,那麼這個時候最適合的選擇就是條形圖或者餅狀圖。

那麼究竟是選條形圖仍是餅狀圖呢?其實這兩種方法都值得一試,而後再看看哪一個的視覺效果會更好一些。可是在可能選項比較少的狀況下,餅狀圖仍是更勝一籌。

若是數據類別過多的話,不管是條形圖仍是餅狀圖,可視化的效果都不會太好。在這種狀況下,能夠考慮只對前幾項最大值進行可視化處理。

在下面這個例子中,病人的血壓狀況同時在條形圖和餅狀圖中表示出來,而且分爲了三個類別,分別是低、正常和高。

病人血壓條形圖與餅狀圖

 

資料來源:https://ibm.box.com/s/rxixq3fto3bkmr7xi5t55pcbj9sb4der

 

3. 散點圖與折線圖

或許最簡單的圖莫過於散點圖,由於它將數據展示在一個二維的笛卡爾座標系中。散點圖尤爲適用於研究兩個變量之間的關係,由於它能將這種相互關係更加直觀地展示出來,以便咱們進行研究。折線圖其實也是散點圖的一種,只不過它用一根線將全部的點鏈接了起來。若是變量Y的值是連續的,則常使用折線圖。

例如,假設你想要去調查房價與建築面積之間的關係,那麼下面這幅散點圖就能夠幫到你。在這幅散點圖上,Y軸表示房價,X軸表示建築面積。同時,你要注意觀察它是如何表示變量之間的線性關係的。整體上看來,建築面積越大,房價越高。

能夠經過顏色和尺寸的改變來擴展散點圖的維度。好比咱們能夠根據每一個房子臥室的數量來對點進行上色,從而就能夠得到一個三維圖。

 

若是想把散點圖擴展爲三維圖或者是四維圖,一個較爲簡便的方法就是改變氣泡的顏色和大小。例如,若是根據每棟房子裏房間數量的多少,來對上一幅散點圖中的每個氣泡進行塗色,那麼將獲得三維的效果。

資料來源:https://ibm.box.com/s/n5m00r4ltcrx1e720d8mzw3et2d0vizy

 

4. 時間序列圖

時間序列圖也相似於散點圖,只不過X軸上標註的是時間範圍。在時間序列圖上,全部的點鏈接成一條線,以提醒咱們時間是連續的。

若是想要更加直觀地研究某一數據隨時間的變化趨勢,時間序列圖就是絕佳選擇。所以,時間序列圖在分析財務數據和傳感器數據上應用得尤其廣泛。

好比在下面這幅時間序列圖中,Y軸所表示的就是在2015到2017年間特斯拉股票每日的收盤價。

2015年至2017年特斯拉股票收盤價時間序列圖

資料來源:https://ibm.box.com/s/5oni1oeko2jej9x4er4zcu4k7cehvqp2

5. 關係圖

若是你的目的是提出一個全面的猜測,那麼關係圖就很是合適,由於它能直觀地展示出數據之間的關係。

假設你是一名在一家醫療公司工做的科學家,正在進行一個數據科學項目,該項目旨在讓醫生開處方的決策過程更加便捷化。那麼,若是如今有四種藥A、C、X和Y,而且醫生只能給每一個病人開其中一種藥。而此時,你有一個數據集,其中包含病人開藥的歷史數據,病人的性別、血壓和血糖等數據。

那麼,如何解讀關係圖呢?在關係圖中,數據集裏的每一類數據都用一種不一樣的顏色表示,而且每條線的粗細程度表明着數據之間的相關性,也叫作頻次計數。經過下面這個例子,能夠進一步瞭解一下關係圖。

從這幅處方關係圖中,能夠得出如下幾點:

· 全部的高血壓病人都開了A藥。

· 全部的低血壓高血脂病人都開了C藥。

· 在開了X藥的病人中,沒有一個是高血壓患者。

一旦得到了這些有效信息,你就能夠提出一系列的假設,而且對新的領域進行研究。例如,機器學習分類器可以對A藥、C藥,或者是X藥的使用作出準確的預測。然而,因爲Y藥與全部的特徵值都有關聯,所以在作出預測以前須要補充其餘的特徵值。

 

患者處方關係圖

資料來源:https://ibm.box.com/s/rxixq3fto3bkmr7xi5t55pcbj9sb4der

6. 熱圖

另一種可以把二維圖升高一個維度的方法就是熱圖,這種方法一樣很厲害而且色彩也比較豐富。在熱圖中會有一個矩陣或者地圖顯示,其上的顏色用來表示頻率或者濃度。大部分的人都以爲熱圖很是直觀,並且淺顯易懂,由於圖中顏色的濃度會顯示出某些趨勢以及須要特別關注的區域。

下面這幅熱圖展現的是在互聯網電影數據庫中,各電影名之間的編輯距離。某個電影名與其餘電影名之間的編輯距離越遠,它在圖中顯示的顏色就越深。好比就編輯距離而言,《超人》 (Superman) 就離《永遠的蝙蝠俠》 (BatmanForever) 很遠,離《超人2》 (Superman2) 很近。

電影名編輯距離熱圖。該熱圖來源於https://medium.com/@michaelzargham。

7. 地圖

若是你的數據裏包含經度和緯度的信息,或者其它經過地理位置來組織數據的方法,好比郵政編碼、區域代碼、縣級數據或者機場數據等,那麼在這個時候,繪製地圖將會很是有助於對數據的可視化處理。

還記得以前在介紹直方圖時舉的那個有關於恆溫器折扣的例子嗎?回想一下,不一樣的地區所享受的折扣是不一樣的。因爲這些數據裏包含經度和緯度的信息,所以咱們能夠把折扣狀況繪製在一張地圖上。而後,只要在地圖上添加一個色譜,即從表示最低折扣的藍色一直到表示最高折扣的紅色,就能夠將數據所有繪製到一張美國地圖上。

恆溫器折扣地圖

資料來源:https://ibm.box.com/s/6fltz5ilap8pbwzu2tt1yxil6ldosc9d

8. 詞雲

其實目前,咱們所研究的大量數據都是以自由文本的形式出現的,而且這種文本也相對簡單。在對此類數據進行第一遍處理時,可能本想更加直觀地瞭解這些詞在語料庫中出現的頻率。然而,不管是直方圖仍是餅狀圖,都對於這些文字類的數據顯得力不從心,而更適合分析數字數據的頻率。所以在這種狀況下,能夠求助於詞雲。

在處理自由文本數據時,首先應過濾掉全部的停用詞,好比像「a」、「and」、「but」、「how」等,而且將全部的文本統一轉爲小寫。若是要進一步整理數據,就要進行額外的工做,好比移除變音符、提取詞幹等。但需不須要進行這一步,則具體視目標而定。一旦數據整理好了之後,就能夠馬上使用詞雲可視化技術,來分析語料庫中哪些詞出現得最廣泛。

如下,咱們根據Large Movie Reviews Dataset數據庫繪製了兩個詞雲,一個展現的是好評,另外一個展現的則是差評。

數據庫傳送門:http://ai.stanford.edu/~amaas/data/sentiment/

電影好評詞雲

電影差評詞雲

9. 三維圖

目前,爲了分析三維數據,人們一般會選擇在散點圖的基礎上增長一個維度,而且這種方式也正變得愈來愈廣泛。這種三維圖有許多優點,尤爲是其交互性。由於經過使用旋轉和縮放的功能,用戶可以更加全面而深入地分析數據。

如下這個例子中所展現的是一個二維的高斯機率密度函數,此外,還有一個可用於調整視角的控制面板。

二維高斯機率密度函數

資料來源:https://ibm.box.com/s/y0woc4hvk046v12yhlxdftkz32zw4po9

10. 高維圖

在分析高維數據時,須要同時對四項、五項,甚至更多的相關數據進行可視化處理。所以,爲了達到這個目的,能夠利用上文所講過的任何一個可視化技術,先構建一個二維或者三維模型。

例如,能夠在上文的恆溫器折扣地圖中添加一個第三維度。具體來講,就是把地圖上的每個點都延伸爲一條豎直線,用以表示該地區的平均能耗。經過以上步驟,得到一幅四維圖,其中四個維度分別表示經度、緯度、折扣力度和平均能耗。

若是須要分析的數據維度比這還要更高,就須要先對數據進行降維處理。數據降維的方法主要有兩種,即主成分分析法和t-SNE算法。

目前應用最爲廣泛的降維方法是主成分分析法。該方法經過找尋新的向量來進行降維,而且該向量必須儘量多地反映數據原來的線性變化信息。若是數據間的線性關係足夠強大,那麼主成分分析法的降維效果就會很是明顯,而且幾乎不會發生信息的丟失。

相比之下,t-SNE算法就是一種非線性的降維方法。t-SNE算法在下降數據維度的同時,還會對原高維空間內數據點之間的距離進行保留。

來看看下面這幅圖,圖中的數據信息取樣自MNIST手寫數字數據庫³。該數據庫包含從0到9十個數字的數千種手寫體圖像,研究人員可使用該數據庫對他們的聚類算法和分類算法進行測試。數據庫中,這些手寫體圖像的分辨率是784像素(28*28),然而經過t-SNE算法的應用,能夠直接將這些784維的數據降至二維。

應用於MNIST手寫數字數據庫的t-SNE算法

資料來源:https://ibm.box.com/s/94e4q8askq82owlnr6qxerworm6cx2sp

至此,經過以上的講解而且輔以實例,你必定對這十種應用最爲普遍的可視化技術有了必定的瞭解。這篇文章中所出現的全部可視化圖表都是在Watson Studio Desktop平臺上製做完成的。固然,除了Watson Studio Desktop以外,還能夠考慮使用其餘的工具,好比R、Matplotlib、Seaborn、ggplot、Bokeh和plot.ly等,在這裏就不列舉更多的了。

 

留言 點贊 關注

咱們一塊兒分享AI學習與發展的乾貨

歡迎關注全平臺AI垂類自媒體 「讀芯術」

(添加小編微信:dxsxbb,加入讀者圈,一塊兒討論最新鮮的人工智能科技哦~)

相關文章
相關標籤/搜索