Jupyter數據可視化

數據可視化對於提升傳達和溝通信息的準確性和高效性具有很大的幫助,為了讓大家進一步瞭解Jupyter數據可視化 ,飛馬網於6月21日晚,邀請到獵聘網數據挖掘工程師李宣成老師為大家分享該領域的內容。

以下是這次線上直播的分享實錄

今天分享的主題是Jupyter數據可視化。

一、為什麼要做數據可視化

Jupyter數據可視化

Jupyter數據可視化

Jupyter數據可視化

在數據分析和數據挖掘工程中,可視化承擔的主要任務有兩點,一是數據的展示,二是數據的分析。希望藉助可視化來傳達和溝通信息。

Jupyter數據可視化

Jupyter數據可視化

為什麼要使用可視化的手段,而不用文字、數字的方式,主要是因為我們的研究發現圖形的反應解碼速度比看到文字和數字的速度快。這裡我展示了常見的圖形知覺,包括長度、位置、角度、亮度等。這幾種圖形知覺使用的時候,從相應的準確度、排序方面都是有先後的順序,所以我們做可視化的時候,我們可以思考一下,我們要怎麼來設計這樣一個圖形,才能準確高效的傳達信息。

現在進入主題分享。

Jupyter數據可視化

用Jupyter做數據可視化,是在Python下做的。首先介紹一個可視化方案,Pandas在繪製基本圖表比較擅長,seaborn繪製統計圖表比較方便,這兩個工具都是在matplotlib的基礎上搭建的,所以有深入的定製化需求,可以跳過這個,直接操作實現目的也可以。

二、基本的可視化圖表,及其在數據分析中中的應用

Jupyter數據可視化

Jupyter數據可視化

Jupyter數據可視化

Jupyter數據可視化

Jupyter數據可視化

先介紹一下最基本的圖表,這些都是非常成熟的可視化方案,所以現在在各個地方都可以常看到。這裡的四種圖表分別是折線圖、餅圖、柱狀圖和散點圖。他們之間互相有側重,折線注重數據的變化趨勢,餅圖主要表現總體與部分的關係,柱狀用來對比數據,散點表現相關性。

Jupyter數據可視化

Jupyter數據可視化

Jupyter數據可視化

上面幾種圖表都有簡單變形。折線變為面積圖,柱狀可以堆積數據,散點演變氣泡圖。這幾種圖表在報表中使用比較多。

Jupyter數據可視化

Jupyter數據可視化

接下來介紹一下在數據分析中比較常用的統計方面的圖表,包括箱型圖和直方圖,前者表現分散情況,後者分析某個數據的分佈情況。在可視化過程中,為了增強表現能力,需要對格式做基本調整。

Jupyter數據可視化

Jupyter數據可視化

Jupyter數據可視化

三、使用plotly製作交互式可視化圖表

接下來介紹一下交互式圖表,使用的工具是plotly和cuffinks。首先有一個問題,靜態圖表不是挺好的?為什麼要用交互式?

交互式對展示數據關係非常有幫助,另一個就是我們在查看報表的時候會有一些需求的變化,我們想要更仔細看某一段時間的數據或者隱藏一些圖例,此時用靜態圖表就要重新繪製,比較麻煩,而交互式就有比較大的優勢。

四、可視化在推薦中的作用

最後一部分介紹一下在我們的推薦系統中,使用了哪些可視化的方法來進行我們的工作。在推薦系統中,數據可視化應用主要分為兩個大塊,第一部分主要是數據報表,第二部分是用數據可視化來進行數據探索的工作。

數據報表最常用的是折線圖和麵積圖,主要是因為我們比較注重數據隨時間的變化而變化的過程,用Jupyter作數據報表的可視化工作,主要是看中其靈活性。

接下來談一下在推薦系統中數據可視化應用的另一個方面,即數據探索。在機器學習的工作中,我們在跑模型之前或者說接觸模型之前,往往要對自己手上的數據有非常深入的瞭解,數據每個維度的特徵,特徵分佈情況,各個特徵之間的關係有非常深入的有分析。對於單個特徵的分析相對是比較簡單的,這裡分為兩種情況,如果是類別特徵,一般看看分佈情況就差不多,具體到工作實質上來講,比如我們可以看一看在工作中的男女比例是多少;對於連續的數值特徵而言,我們一般會考察一下數值的分佈情況,比如看看用戶的年齡段的分佈或者職位在薪水層次的數量等,這個時候用直方圖或密度圖,就非常方便。

在特徵的數據探索過程中,分析特徵之間的關係也是非常重要的,假設考察類別特徵和數值特徵之間的關係,比如看用戶類型是怎麼影響他的收入的,這時候就可以考慮用一個箱型圖來分析,可以看到每種類型的用戶的薪水均值總體的分佈情況到底是什麼樣子。

對於兩個連續的特徵,做過分析的人第一反應就是迴歸,這是比較好的思路,散點圖可以比較好的表現關係。

一般對於做大數據的人來說,散點圖用的不是那麼多,原因非常簡單,數據太龐大,這時候一般用熱力圖來進行替代,它會算這一塊區域裡面點的密度,點分佈的密度來代替單個的點。顏色越深,密度越大。

大家都知道,做大數據隨便一個模型特徵就幾十上百個,如果一一分析就非常麻煩,這裡有一個很容易偷懶的方法,用一個函數分析多個特徵之間的兩兩關係,這就是多特徵分析。

Jupyter數據可視化

Jupyter數據可視化

最後,給大家送上兩張對照表。

這四大部分就是關於Jupyter數據可視化的介紹。下面我們一起來看看在最後的答疑過程中,都有些什麼問題呢?

1.多配案例代碼,或者關鍵代碼。

李老師:感謝建議,下次我會盡可能提供能跑起來的示例。

2.類似echart那樣

李老師:Jupyter本身是一個web應用,我們平時的使用就是在網頁上的。

3.問能結合數據庫來用嗎?

李老師:搭建jupyter的時候做好相應的配置,就可以用代碼讀到數據庫中的數據,跟寫python腳本的時候一樣。

4.老師,這些只能用做離線的數據分析可視化嗎?

李老師:實時可視化用jupyter應該不太好做,我們都是基於離線數據做的。具體延時其實主要看數據源的延時。

5.問還有其他更多的圖標類型和樣式嗎?

李老師:我總結的常用圖表主要就是這些。還有一些複雜圖表不夠常用製作起來也很複雜,所以就沒有介紹

6.問是否可以結合地圖做可視化?

李老師:plotly本身有地圖可視化的工具,不過純粹的plotly配置會比較繁瑣。

另外也可以看看geoplotlib、pyecharts等其它的包

7.問多特徵分析那個片子,如何看出特徵間相關或者不相關

李老師:看線性相關就是分別以兩個特徵為x、y軸繪製數據點,看是不是分佈在一條直線附近

8.老師,您好!jupyter可以做出三維的可視化效果嗎?謝謝!

李老師:可以的,plotly+cufflinks有scatter3d、bubble3d等繪圖類型,純plotly、matplotlib都可以畫3d圖

以上就是本次線上直播的主要內容,相信你對Jupyter數據可視化有了一定的認識。想了解更多更詳細內容的小夥伴們,可以關注服務號:FMI飛馬網,點擊菜單欄飛馬直播,即可進行學習。


分享到:


相關文章: