2021-02-27 分類: 網站建設
數據可視化是任何數據科學或機器學習項目的一個重要組成部分。人們常常會從探索數據分析(EDA)開始,來深入了解數據,并且創建可視化確實有助于讓問題更清晰和更容易理解,尤其是對于那些較大的高維度數據集。在項目結束的時候,能夠以清晰的、簡潔的和令人信服的方式呈現最終結果,這是非常重要的,讓你的用戶能夠理解和明白。你可能已經看過了我之前的文章《5種快速和簡單的Python數據可視化方法(含代碼)》(5 Quick and Easy Data Visualizations in Python with Code),其中介紹了5種基本可視化方法:散點圖、線圖、柱狀圖、條形圖和箱形圖。這五個是簡單而強大的可視化方法,你絕對可以通過這些方法從數據集中得到巨大的收獲。在本文中,將介紹另外4個數據可視化方法,但稍微復雜一些,你可以在看完上一篇文章介紹的基本方法之后再用。
熱圖(Heat Map)
熱圖是數據的矩陣表示方式,其中每個矩陣的值用一種顏色來表示。不同的顏色代表不同的級別,矩陣指數將兩個對比的列或特征連接在一起。熱圖可以很好地顯示出多個特征變量之間的關系,因為可以直接把一個級別看作一種顏色。還可以通過觀察熱圖中的一些點來查看每個關系是如何與數據集中的其它關系進行比較的。這些顏色的確提供了簡單的表示方式,因為這是非常直觀的。
現在來看下代碼:與matplotlib庫相比,seaborn庫可用于更高級的圖表,通常也需要更多的組件,如更多的顏色、圖形或者變量。Matplotlib庫用于顯示圖表,numpy用于生成數據,而pandas用于控制。繪圖只是調用一個簡單的seaborn函數,如果你發現了一些在視覺上很特別的東西,通過這個函數,還可以設置顏色映射。
二維密度圖(2D Density Plot)
二維密度圖是一維版本的簡單擴展,能夠看到關于2個變量的概率分布。讓我們看看下面的二維密度圖,右邊的刻度用顏色表示每一點的概率。高的概率,看下數據集,似乎大約是0.5的大小和1.4-ish的速度。正如你所看到的,二維密度圖對于快速確定數據對于兩個變量最集中的區域非常地顯著,而不是像一維密度圖那樣只集中一個變量。當你有兩個對輸出結果非常重要的變量,并且希望了解它們如何一起對輸出結果分布起作用的時候,二維密度圖尤其適合。
Seaborn的代碼超級簡單,我們將通過創建一個偏態分布介紹它。如果你發現某些顏色和陰影在視覺上更特別,那么大多數的可選參數都是為了看起來更清晰。
蜘蛛圖(Spider Plot)
蜘蛛圖是顯示一對多關系最好的方法之一。也就是說,你可以繪制并查看區別于單個變量或類別的多個變量的值。在蜘蛛圖中,一個變量相對于另一個變量的特性是顯而易見的,因為面積和長度在一些方向上變化了。如果你希望了解幾個類別關于這些變量是如何疊加起來的,可以并排繪制一下。在下圖中,很容易比較三個電影角色的不同屬性,并了解他們的優勢所在!
這次我們將能夠直接使用matplotlib來創建可視化,而不是用seaborn。需要計算每個屬性所在的角度,因為我們希望它們沿圓周被平均地分隔開。我們將在每個計算的角度放置標簽,然后把值繪制成一個點,該點到中心的距離取決于它的值或是級別。最后,為了清晰起見,我們將使用半透明的顏色填充由連接各屬性點的線所包含的區域。
樹形圖(Tree Diagram)
我們從小學就開始使用樹形圖了,樹形圖既自然又直觀,還易于解釋。直接連接的節點關系密切,而與有多個連接的節點差別很大。在下圖中,我已經根據統計繪制了一小部分來自Kaggle的Pokemon with stats數據集:
HP、攻擊、防御、特殊攻擊、特殊防御、速度
因此,與stats wise最匹配的Pokemon將緊密連接在一起。例如,我們看到,在頂部,Arbok和Fearow是直接連接的,而且,如果我們查看數據,Arbok總共有438個,而Fearow有442個,非常接近。但是一旦我們移動到Raticate,我們得到的總數是413,這與Arbok和Fearow的差別很大,這就是它們被分開的原因。當我們移動樹的時候,基于相似性,Pokemon被分的組越來越多。在綠色組中的Pokemon相互之間比紅色組中的更相似,即使沒有直接的綠色連接。
對于樹形圖,我們實際上要使用Scipy的。在查看了數據集之后,我們將去掉字符串類型的列。我們這么做只是為了要得到正確的可視化結果,但在實踐中,最好是把這些字符串轉換成分類變量,為了得到更好的結果和進行比較,我們還設置了數據幀索引,以便能夠適當地用它作為引用每個節點的列。最后,在Scipy中計算和繪制樹形圖是非常簡單的事了。
分享名稱:Python數據可視化的四種簡易方法
標題鏈接:http://vcdvsql.cn/news40/103290.html
成都網站建設公司_創新互聯,為您提供外貿網站建設、動態網站、定制網站、定制開發、品牌網站制作、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容