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

内容导航

类别 内容导航
机器学习 机器学习算法应用场景与评价指标
机器学习算法---分类
机器学习算法---回归
机器学习算法---聚类
机器学习算法---异常检测
机器学习算法---时间序列
数据可视化 数据可视化---折线图
数据可视化---箱线图
数据可视化---柱状图
数据可视化---饼图、环形图、雷达图
统计学检验 箱线图筛选异常值
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)

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

相关推荐
IT小哥哥呀1 天前
Python实用技巧:批量处理Excel数据并生成销售报表(含实战案例)
python·pandas·数据可视化·数据处理·报表生成·excel自动化·办公神器
大飞码农2 天前
📊 开源了一个 Git 代码统计神器,解决了团队代码量统计的 N 个痛点
git·数据可视化
Serendipity_Carl2 天前
爬虫数据清洗可视化链家房源
python·pandas·matplotlib
合作小小程序员小小店5 天前
基于可视化天气系统demo,基于python+ matplotlib+request爬虫,开发语言python,数据库无,10个可视化界面,需要的可以了联系。
开发语言·爬虫·python·matplotlib
景彡先生6 天前
Python matplotlib详解:从入门到精通,数据可视化利器
python·信息可视化·matplotlib
西***63477 天前
怕故障?怕扩展难?分布式可视化控制:给足场景安全感
分布式·数据可视化
world-wide-wait7 天前
机器学习03——matplotlib
python·机器学习·matplotlib
Aloudata技术团队7 天前
以 NoETL 指标语义层为核心:打造可信、智能的 Data Agent 产品实践
数据挖掘·数据分析·数据可视化
爱思德学术8 天前
中国计算机学会(CCF)推荐学术会议-B(数据库/数据挖掘/内容检索):PODS 2026
数据库·数据分析·数据可视化·数据库系统
Serendipity_Carl10 天前
爬虫数据清洗可视化案例之全球灾害数据
爬虫·python·pycharm·数据可视化·数据清洗