检测流中序列的异常值。
pyood的Python项目详细描述
流异常值检测器
检测流中序列的异常值。
在这个项目中,我们有一些假设:
- 该项目在线工作,意味着对未来数据一无所知
- 此项目忽略旧数据(大于样本数组大小)
- 如果超过一半的样本数组处于异常值中,则本项目假设大多数样本不是异常值,并再次计算样本的异常值检测
用法
安装
pip install pyood
pip install --upgrade pyood # if you want update package
如何使用它
frompyoodimportOutlierDetectoroutlier_detector=OutlierDetector(bound_factor_standard_deviation=3,window_size=20,size_initial_ignore=10)is_outlier=outlier_detector.push(your_value)
如果需要,可以将其与回调函数一起使用
frompyoodimportOutlierDetectordefresult(is_outlier):print(is_outlier)outlier_detector=OutlierDetector(bound_factor_standard_deviation=3,window_size=20,size_initial_ignore=10)is_outlier=outlier_detector.push(value=your_value,callback=result)
帮助
bound_factor_standard_deviation
是标准差倍数的因子。|value - mean| > bound_factor_standard_deviation * satandard deviation
是异常值。window_size
是数组大小对于查找异常值是有效的。first_learning_number
是我们忽略并从中学习的第一个值的数目。
Warning ⚠ |
---|
if the outlier be in the first ^{ |
结果
我测试这个类并在图表上显示它的功能。
是我们检测到的异常值。
为正常值。
-是异常检测的界。
Without bound | With bounds |
---|---|