数据可视化之箱线图详解

一、箱线图

箱线图(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。标准化之后可以清楚的看到,每个特征的异常值分布情况。



猜你喜欢

转载自blog.csdn.net/sinat_29957455/article/details/80302391
今日推荐