数据可视化---离群值展示

内容导航

类别 内容导航
机器学习 机器学习算法应用场景与评价指标
机器学习算法---分类
机器学习算法---回归
机器学习算法---聚类
机器学习算法---异常检测
机器学习算法---时间序列
数据可视化 数据可视化---折线图
数据可视化---箱线图
数据可视化---柱状图
数据可视化---饼图、环形图、雷达图
统计学检验 箱线图筛选异常值
3 Sigma原则筛选离群值
Python统计学检验
大数据 PySpark大数据处理详细教程
使用教程 CentOS服务器搭建Miniconda环境
Linux服务器配置免密SSH
大数据集群缓存清理
面试题整理 面试题---机器学习算法
面试题---推荐系统

python 复制代码
"""
传入一个list,以及几倍的sigma参数threshold,可以将数据中的正常值及离群值用不同颜色展示出来
"""
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

def Outlier_visualization_line(data,threshold):
    plt.style.use('ggplot')
    data = pd.Series(data)
    mean = data.mean()
    std  = data.std()

    #筛选出离群值
    left  = mean - threshold * std
    right = mean + threshold * std
    error = data[(data<left)|(data>right)]
    data_c = data[(data>=left)&(data<=right)]
    # #不同着色,正常绿色,离群值红色
    # sp = np.where(data.isin(data_c),'g','r') 
    # 可视化
    fig = plt.figure(figsize=(12,8))
    plt.plot(data.index,data.values,'bo--',alpha=0.4)
    plt.scatter(error.index,error.values,c='r',s=60)
    plt.title('Outlier Visualization',size=20)
    plt.text(len(data)*0.4,data.values.max()+data.values.max()*0.01,
             r'$\mu={},\ \sigma={}$'.format(round(mean,2),round(std,2)),fontsize=14,bbox=dict(facecolor='red', alpha=0.2))
    # 添加水平辅助线plt.axhline,添加垂直辅助线plt.axvline(轴位置,线形,标签))
    plt.axhline(left,linestyle = '--',label="{} sigma low".format(threshold))
    plt.axhline(right,linestyle = '--',label="{} sigma up".format(threshold))
    plt.xlabel('Index',size=18)
    plt.ylabel('Value',size=18)
    plt.grid(True)
    plt.legend(loc='best')
    plt.show()
    fig.savefig('Outlier_visualization_line.png',dpi=600)

data = np.random.randn(100)*100
Outlier_visualization_line(data,threshold=1.5)
python 复制代码
"""
传入一个list,以及几倍的sigma参数threshold,可以将数据中的正常值及离群值用不同颜色展示出来
"""
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

def Outlier_visualization_scatter(data,threshold):
    plt.style.use('ggplot')
    data = pd.Series(data)
    mean = data.mean()
    std  = data.std()

    #筛选出离群值
    left  = mean - threshold * std
    right = mean + threshold * std
    error = data[(data<left)|(data>right)]
    data_c = data[(data>=left)&(data<=right)]
    #不同着色,正常绿色,离群值红色
    sp = np.where(data.isin(data_c),'g','r') 
    # 可视化
    fig = plt.figure(figsize=(12,8))
    plt.scatter(data.index,data.values,marker='o',c=sp)
    plt.title('Outlier Visualization',size=20)
    plt.text(len(data)*0.4,data.values.max(),
             r'$\mu={},\ \sigma={}$'.format(round(mean,2),round(std,2)),fontsize=14,bbox=dict(facecolor='red', alpha=0.2))
    plt.xlabel('Index',size=18)
    plt.ylabel('Value',size=18)
    plt.grid(True)
    plt.show()
    fig.savefig('Outlier_visualization_scatter.png',dpi=600)

data = np.random.randn(10000)*100
Outlier_visualization_scatter(data,threshold=2.7)

友情提示 :如果你觉得这个博客对你有帮助,请点赞、评论和分享吧!如果你有任何问题或建议,也欢迎在评论区留言哦!!!

相关推荐
ZhengEnCi2 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化
极光代码工作室13 天前
基于数据仓库的电商数据分析平台
大数据·hadoop·python·spark·数据可视化
柳杉14 天前
我用Threejs 搓了一个 3D 中国地图设计器,开箱即用
前端·three.js·数据可视化
留白_16 天前
Matplotlib绘图
信息可视化·数据分析·matplotlib
小的博客16 天前
Oh-My-Posh安装及使用
学习·数据可视化
MATLAB代码顾问16 天前
Python Matplotlib数据可视化实战指南
python·信息可视化·matplotlib
星辰徐哥17 天前
Python AI基础:Matplotlib与Seaborn数据可视化
人工智能·python·matplotlib
斐夷所非18 天前
Python Matplotlib | 基础绘图、复杂函数图与三维图
matplotlib
周庆猛18 天前
Babylon.js 多灯场景在 Windows 上报错:VERTEX shader uniform block count exceeds GL_MAX_VE
前端·数据可视化