05.13 數據可視化之箱線圖詳細介紹

一、箱線圖

箱線圖(Box-plot)又稱盒須圖、盒式圖或箱形圖,是一種用作顯示一組數據分散情況資料的統計圖,在數據分析中經常被使用到,可以被用於異常值的檢測。

數據可視化之箱線圖詳細介紹

數據可視化之箱線圖詳細介紹

通過箱線圖可以很容易找到數據中的異常值。

二、使用python繪製箱線圖

數據集地址:http://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data

1、未標準化的箱線圖

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
if __name__ == "__main__":
data = pd.read_csv("G:/dataset/abalone.csv")
#需要繪製箱形圖的列,不包括ID列和第一列
box_data = np.array(data.ix[:,2:10])
#繪製箱線圖
plt.boxplot(box_data)
plt.xlabel("特徵索引")
plt.ylabel("四分位間距")
plt.show()

數據可視化之箱線圖詳細介紹

matplotlib的boxplot默認的上邊緣到上四分位數的間距是1.5IQR,可以通過whis參數進行調節,超過了上邊緣Q3+1.5IQR和下邊緣Q1-1.5IQR的部分視為異常值也就是圖中的圓圈所表示的點。通過上面的箱線圖可以發現,由於第8個屬性的取值區間比較廣,導致其他屬性的箱線圖被壓縮。

2、標準化的箱線圖

通過將數據進行標準化,可以解決箱線圖被壓縮的問題。

#對數據進行標準化
box_data = (box_data - np.mean(box_data,axis=0)) / np.std(box_data,axis=0)
plt.boxplot(box_data)

數據可視化之箱線圖詳細介紹

標準化後的數據均值為0,方差為1。標準化之後可以清楚的看到,每個特徵的異常值分佈情況。


分享到:


相關文章: