數據挖掘-數據預處理之缺失值可視化處理
每次處理數據時,缺失值是必須要考慮的問題。但是手工查看每個變量的缺失值是非常麻煩的一件事情。
missingno
提供了一個靈活且易於使用的缺失數據可視化和實用程序的小工具集,使您可以快速直觀地總結數據集的完整性。
我們使用python來進行演練
1、首先安裝程序包並加載:
pip install missingno
import missingno as msno
2、導入訓練數據集
import pandas as pd
import numpy as ny
data=pd.read_csv("model.csv")
3、無效矩陣的數據密集顯示
msno.matrix(data, labels=True)
可以快速直觀地挑選出圖案的數據完成
我們可以一目瞭然的看到每個變量的缺失情況,
變量y,X9數據是完整的,其他變量都有不同程度的缺失,
尤其是X3,X5,X7等的缺失非常嚴重
4、條形圖
msno.bar(data)
msno.bar
是列的無效的簡單可視化:
利用條形圖可以更直觀的看出每個變量缺失的比例和數量情況。
5、熱圖相關性
msno.heatmap(data)
missingno
相關性熱圖措施無效的相關性:一個變量的存在或不存在如何強烈影響的另一個的存在:
我們看到X5與X1.1的缺失相關性爲1,說明X5只要發生了缺失,那麼X1.1也會缺失,
X7和X8的相關性爲-1,說明X7缺失的值,那麼X8沒有缺失;而X7沒有缺失時,X8爲缺失。
6、樹狀圖
msno.dendrogram(data)
樹形圖使用層次聚類算法通過它們的無效性相關性(根據二進制距離測量)將變量彼此相加。在樹的每個步驟,基於哪個組合最小化剩餘簇的距離來分割變量。變量集越單調,它們的總距離越接近零,並且它們的平均距離(y軸)越接近零。
總體上,圖標分爲兩個大類,一類是數據比較完整的,一類是缺失值比較多的。
要解釋此圖表,要從上往下的角度閱讀。
左邊數據是比較完整的一類,Y和X9是完整的數據,沒有缺失值,所以他們的距離爲0;相對於其他變量X11也是比較完整的,距離要比其他變量小,所以先把X11加進來。其他變量以此類推。
右邊是缺失值比較嚴重的,熱圖相關性裏面我們看到了X5和X1.1的相關性係數爲1,所以他們的距離爲0,首先聚在一起;之後再跟其他進行計算距離,把距離較近的X7加進來,以此類推。