关于数据异常值检测的问题,想法用机器学习做,请教一下各位!

2019-09-12 10:59:40 +08:00
 yellowmarlboro
数据很简单,只检测某一个字段,这个字段基本随时间递增,或者不变,总之不会减小。
这个字段会出现异常值 比如 [1,2,3,16,17,18] 16 就是异常值,也可能会有减小的异常值。
但是数据种类有很多。每个种类的数据的这个字段增长曲线是不一样的
领导希望用机器学习,我还是机器学习新手,只了解 k 近邻,普通线性回归这些算法,
另外,当然是无标签的数据,不过能找到一些没有异常值的数据拿来训练。
有没有什么思路,算法看得我头蒙(太蠢。
哦 开发语言 python
4316 次点击
所在节点    Python
34 条回复
Mohanson
2019-09-12 14:44:54 +08:00
搜索 scikit-learn 异常值检测
yellowmarlboro
2019-09-12 15:09:26 +08:00
@pelloz @Mohanson thx 两位
yellowmarlboro
2019-09-12 15:09:55 +08:00
祝各位中秋愉快,剩下的时间就交给划水了。
Sornets
2019-09-12 15:30:42 +08:00
用 if else 判断一下,然后写个 ppt,说是用机器学习实现的
popvlovs
2019-09-12 15:33:34 +08:00
听起来是时间序列算法,顺祝各位中秋愉快
cpsony
2019-09-12 15:34:05 +08:00
毕设时候了解过一点点,可以看看 pyod 库,专门异常检测的,可以 pip 直接安装
https://github.com/yzhao062/pyod
lz 这种应该是选择无监督异常检测,比如孤立森林啥的……一点浅见,现在工作不是做这个
xuewuchen
2019-09-12 15:40:21 +08:00
如果是学习的话首先程序本身应该能够捕捉到正确的规律和错误的规律吧。。但是如果和定义正确的规律和错误的规律?如果你定义了正确的规律和错误的规律 那么不用机器学习,程序在你定义的时候就可以定义出报错的情况。如果你设计出可以自己判断规律和异常的算法,是不是意味着你也可以设计 AlphaGo 了
TheWalkingDead
2019-09-12 15:43:13 +08:00
感觉楼上很多人应该没听过时间序列算法。
Vinty
2019-09-12 16:49:16 +08:00
如果你只有一维数据而且数据噪声很小的话,首先考虑的是怎么扩展特征,用差分或者滑动窗多提取一些序列在时间维度上的特征。
一般来说时间序列的时间窗都是向前的,不过你图中的情况,以第一个异常为例,快速上升段和它前面那段上升时完全一样的,必须要开始下降或者异常峰结束才能看出来。不考虑向后的时间窗的话,大概特征就是在一个合适的时间窗内数据同时出现上升和下降且上升段和下降段形成一个较小的夹角。
Srar
2019-09-12 16:56:11 +08:00
aumbre
2019-09-12 20:32:44 +08:00
指数平滑?
luozic
2019-09-13 17:33:09 +08:00
特征平滑 还是啥?
b00tyhunt3r
2019-09-13 18:50:51 +08:00
给领导看这贴会怎样🥴
hinate
2019-09-14 11:30:11 +08:00
纯数据可以考虑箱线图这样去鉴别

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/600322

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX