假设有一个列表,a = [61, 40, 70, 80, 86, 50, 88, 33, 76, 64],保存的是设备的状态值随时间的变化,超过60即为异常,但是对于孤立的异常点,我们需要将其忽略,只有连续的异常点才认为是真正的异常,需要统计异常的次数(当然也可以有其他的操作,删除孤立的异常点等等)。

处理的代码如下:

def get_above_threshold_num(device_status, threshold):
if not isinstance(device_status, list) or not isinstance(threshold, int):
return
num = 0
count = len(device_status)
for index, value in enumerate(device_status):
if value >= threshold:
if (0 <= index - 1 < count and device_status[index - 1] >= threshold) or (0 <= index + 1 < count and device_status[index + 1] >= threshold):
num += 1
return num if __name__ == "__main__":
a = [61, 40, 70, 80, 86, 50, 88, 33, 76, 64]
b = get_above_threshold_num(a, 80)
print(b)

思路即就是遍历列表中的元素,如果大于等于阈值,则找到它的前一个元素和后一个元素,只要有一个元素是大于等于阈值的,则进行统计。

python处理孤立的异常点的更多相关文章

  1. Python机器学习笔记:异常点检测算法——LOF(Local Outiler Factor)

    完整代码及其数据,请移步小编的GitHub 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/MachineLearningNote 在数据挖掘方面,经常需 ...

  2. Python机器学习笔记 异常点检测算法——Isolation Forest

    Isolation,意为孤立/隔离,是名词,其动词为isolate,forest是森林,合起来就是“孤立森林”了,也有叫“独异森林”,好像并没有统一的中文叫法.可能大家都习惯用其英文的名字isolat ...

  3. [转]Python机器学习笔记 异常点检测算法——Isolation Forest

    Isolation,意为孤立/隔离,是名词,其动词为isolate,forest是森林,合起来就是“孤立森林”了,也有叫“独异森林”,好像并没有统一的中文叫法.可能大家都习惯用其英文的名字isolat ...

  4. python 绘图 异常点绘制使用 ax.plot(abnormal_points['ds'], abnormal_points['y'], "rX", label='abnormal points')

    from matplotlib import pyplot as plt def my_plot(title, m, fcst, ax=None, uncertainty=True, plot_cap ...

  5. Python机器学习笔记 使用sklearn做特征工程和数据挖掘

    特征处理是特征工程的核心部分,特征工程是数据分析中最耗时间和精力的一部分工作,它不像算法和模型那样式确定的步骤,更多的是工程上的经验和权衡,因此没有统一的方法,但是sklearn提供了较为完整的特征处 ...

  6. 异常点/离群点检测算法——LOF

    http://blog.csdn.net/wangyibo0201/article/details/51705966 在数据挖掘方面,经常需要在做特征工程和模型训练之前对数据进行清洗,剔除无效数据和异 ...

  7. 26.异常检测---孤立森林 | one-class SVM

    novelty detection:当训练数据中没有离群点,我们的目标是用训练好的模型去检测另外发现的新样本 outlier  dection:当训练数据中包含离群点,模型训练时要匹配训练数据的中心样 ...

  8. 异常值检测方法(Z-score,DBSCAN,孤立森林)

     机器学习_深度学习_入门经典(博主永久免费教学视频系列) https://study.163.com/course/courseMain.htm?courseId=1006390023&sh ...

  9. 【NLP】Python NLTK获取文本语料和词汇资源

    Python NLTK 获取文本语料和词汇资源 作者:白宁超 2016年11月7日13:15:24 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集 ...

随机推荐

  1. 第十章 Centos7-系统进程管理

    第十章  Centos7-系统进程管理 本节所讲内容: 10.1  进程概述和ps查看进程工具 10.2  uptime查看系统负载-top动态管理进程 10.3  前后台进程切换- nice进程优先 ...

  2. KETTLE入门教程-单表读取

    kettle初探 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定.Kettle 中文名称叫水壶,该项目的主程 ...

  3. ISODATA聚类算法的matlab程序

    ISODATA聚类算法的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 参考:Kmeans及ISODATA算法的matlab实现 算法 ...

  4. nginx典型官方模块解释

    模块名称 作用 语法 默认 配置位置 配置举例 结果验证 备注 1 --with-http_stub_status_module 监控Nginx的服务器连接状态 stub_status   serve ...

  5. Node.js—概述

    一.Node.js与其他语言对比   Node.js不是一种独立的语言,与PHP.JSP.Python.Perl.Ruby的"既是语言,也是平台"不同,Node.js的使用Java ...

  6. 《阿里B2B技术架构演进详解》----阅读

    B2B(Business To Business)是指一个市场的领域的一种,是企业对企业之间的营销关系.先来总结一下阿里B2B共分为三个阶段: 第一阶段,建立信息网站提供信息和营销服务平台,让买家更加 ...

  7. Java常识2

    JDK 的下载 安装 下载 官网 github安装 傻瓜式安装 JDK .JRE 注意问题 安装软件的 路径不能包含中文 空格 path环境变量 windows操作系统执行命令是所要搜寻的路径为什么要 ...

  8. CCF模拟题-201909

    2.小明种苹果(续)(100分) #include<iostream> #include<cstdio> #include<cstring> #define max ...

  9. Python连载32-多线程其他属性以及继承Thread类

    一.线程常用属性 1.threading.currentThread:返回当前线程变量 2.threading.enumerate:返回一个包含正在运行的线程的list,正在运行的线程指的是线程启动后 ...

  10. vue自定义事件---拖拽

    margin布局拖拽 Vue.directive('drag', { bind(el, binding, vnode, oldVnode) { const dialogHeaderEl = el.qu ...