探索性資料分析(eda)是資料科學或機器學習管道的重要組成部分。為了使用資料建立乙個健壯且有價值的產品,你需要研究資料,理解變數之間的關係,以及資料的底層結構。資料視覺化是eda中最有效的工具之一。
我們將建立許多不同的視覺化效果,並嘗試在每乙個視覺化中引入matplotlib或seaborn庫的乙個特性。
我們首先匯入相關庫並將資料集讀入pandas資料幀。
該資料集包含10000個客戶(即行)和14個關於銀行客戶及其產品的特徵。這裡的目標是使用所提供的特徵來**客戶是否會流失(即退出=1)。
讓我們從catplot開始,這是seaborn庫的乙個分類圖。
sns.catplot(x=
'gender'
, y=
'age'
, data=df, hue=
'exited'
, height=
8, aspect=
1.2)
研究發現:45到60歲的人比其他年齡段的人更容易離職(即離開公司)。女性和男性之間沒有太大的差別。
hue引數用於根據類別變數區分資料點。
我們第一次使用matplotlib.pyplot介面來建立figure物件並設定標題。然後,我們用seaborn在這個圖形物件上畫出了實際的圖表。
研究結果:估計工資與餘額之間不存在有意義的關係或相關性。餘額似乎具有正態分佈(不包括餘額為零的客戶)。
下乙個視覺化是箱線圖,它顯示了乙個變數在中位數和四分位數上的分布。
我們還使用set_xlabel和set_ylabel調整了x和y軸的字型大小。
以下是箱線圖:
中值是所有點排序時中間的點。q1(第乙個或下四分位數)是資料集下半部分的中值。q3(第三或上四分位數)是資料集上半部分的中值。
因此,箱線圖為我們提供了關於分布和異常值的概念。在我們建立的箱線圖中,頂部有許多異常值(用點表示)。
發現:年齡變數的分布是右偏的。由於上側的異常值,平均值大於中值。
在變數的單變數分布中可以觀察到右偏態。讓我們建立乙個distplot來觀察分布。
右邊的尾巴比左邊的重。原因是我們在箱線圖上觀察到的異常值。
distplot在預設情況下也提供了乙個直方圖,但是我們使用hist引數更改了它。
seaborn庫還提供了不同型別的pair圖,這些圖提供了變數之間成對關係的概述。讓我們先從資料集中隨機抽取乙個樣本,使曲線圖更具吸引力。原始資料集有10000個觀測值,我們將選取乙個包含100個觀測值和4個特徵的樣本。
在對角線上,我們可以看到變數的直方圖。網格的另一部分表示變數與變數之間的關係。
另乙個觀察成對關係的工具是熱圖,它採用矩陣並生成彩色編碼圖。熱圖主要用於檢查特徵和目標變數之間的相關性。
讓我們首先使用pandas的corr函式建立一些特徵的相關矩陣。
corr_matrix = df[
['creditscore'
,'age'
,'tenure'
,'balance'
,'estimatedsalary'
,'exited']]
.corr(
)
我們現在可以繪製這個矩陣
發現:「年齡」和「餘額」列與客戶流失呈正相關。
隨著資料量的增加,分析和探索資料變得越來越困難。視覺化是探索性資料分析中的乙個重要工具,當它被有效和恰當地使用時,它就有了強大的力量。視覺化也有助於向你的聽眾傳達資訊或告訴他們你的發現。
沒有一種適合所有型別的視覺化方法,因此某些任務需要不同型別的視覺化。根據任務的不同,不同的選擇可能更合適。所有視覺化都有乙個共同點,那就是它們是探索性資料分析和資料科學中講故事部分的好工具。
pyecharts實現資料視覺化
本文講述了乙個非常炫酷的視覺化工具以及本萌新試驗中遇到的問題和解決方法。git clone cd pyecharts pip install r requirements.txt python setup.py install import sys from pyecharts.charts imp...
matplot pandas 實現資料視覺化 基礎
import pandas as pd import numpy as np import matplotlib.pyplot as plt e file pd.excelfile 7月下旬入庫表.xlsx 開啟的sheet表名稱 data e file.parse 7月下旬入庫表 行首 列頭 數值...
資料視覺化 什麼是資料視覺化
資料對應的英文單詞是data,從資訊獲取的角度看,資料是對目標觀察和記錄的結果,是現實世界中的時間 地點 事件 其他物件或概念的描述。不同學者對資料的作用也給出不同的定義,大致分為以下3類 視覺化對應的兩個英文單詞 visualize和visualization。visualize是動詞,描述 生成...