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

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


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

圖片來源:Willian Justen deVasconcellos on Unsplash


相比於浩如煙海的數據表格,大部分人還是更喜歡視覺資料,這一點已不足為奇。也是出於這個原因,人們通常才會在學術論文的前幾頁加上一張圖表,並且清楚地標記上各種註釋。


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

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

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

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


本文將會介紹到十種可視化技術。以後,無論你是想讓大家認可理論,還是為了規劃項目的下一步計劃,這些可視化方法都能幫助你分析數據。


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

1. 直方圖


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


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


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


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

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


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


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


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

2. 條形圖與餅狀圖

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


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


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


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


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

病人血壓條形圖與餅狀圖


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


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

3. 散點圖與折線圖

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


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


可以通過顏色和尺寸的改變來擴展散點圖的維度。比如我們可以根據每個房子臥室的數量來對點進行上色,從而就可以獲得一個三維圖。


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


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


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


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

4. 時間序列圖


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


如果想要更加直觀地研究某一數據隨時間的變化趨勢,時間序列圖就是絕佳選擇。因此,時間序列圖在分析財務數據和傳感器數據上應用得尤為普遍。


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


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

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

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


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

5. 關係圖

如果你的目的是提出一個全面的猜想,那麼關係圖就非常合適,因為它能直觀地展現出數據之間的關係。


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


那麼,如何解讀關係圖呢?在關係圖中,數據集裡的每一類數據都用一種不同的顏色表示,並且每條線的粗細程度代表著數據之間的相關性,也叫做頻次計數。通過下面這個例子,可以進一步瞭解一下關係圖。

從這幅處方關係圖中,可以得出以下幾點:

· 所有的高血壓病人都開了A藥。

· 所有的低血壓高血脂病人都開了C藥。

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


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


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

患者處方關係圖

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


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

6. 熱圖

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


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


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

電影名編輯距離熱圖,源https://medium.com/@michaelzargham


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

7. 地圖


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


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


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

恆溫器折扣地圖


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


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

8. 詞雲


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


在處理自由文本數據時,首先應過濾掉所有的停用詞,比如像“a”、“and”、“but”、“how”等,並且將所有的文本統一轉為小寫。如果要進一步整理數據,就要進行額外的工作,比如移除變音符、提取詞幹等。但需不需要進行這一步,則具體視目標而定。一旦數據整理好了以後,就可以立刻使用詞雲可視化技術,來分析語料庫中哪些詞出現得最普遍。


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

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


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

電影好評詞雲


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

電影差評詞雲


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


9. 三維圖

目前,為了分析三維數據,人們通常會選擇在散點圖的基礎上增加一個維度,並且這種方式也正變得越來越普遍。這種三維圖有許多優勢,尤其是其交互性。因為通過使用旋轉和縮放的功能,用戶能夠更加全面而深刻地分析數據。


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


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

二維高斯概率密度函數


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


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

10. 高維圖


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


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


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


目前應用最為普遍的降維方法是主成分分析法。該方法通過找尋新的向量來進行降維,並且該向量必須儘可能多地反映數據原來的線性變化信息。如果數據間的線性關係足夠強大,那麼主成分分析法的降維效果就會非常明顯,並且幾乎不會發生信息的丟失。


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


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


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

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

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

至此,通過以上的講解並且輔以實例,你一定對這十種應用最為廣泛的可視化技術有了一定的瞭解。這篇文章中所出現的所有可視化圖表都是在Watson Studio Desktop平臺上製作完成的。當然,除了Watson Studio Desktop之外,還可以考慮使用其他的工具,比如R、Matplotlib、Seaborn、ggplot、Bokeh和plot.ly等,在這裡就不列舉更多的了。

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

留言 點贊 關注

我們一起分享AI學習與發展的乾貨

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


分享到:


相關文章: