今天我们要来模拟基於柴比雪夫不等式的异常值检测,首先我们先用NumPy产生一条随机乱数
import pandas as pd
import numpy as np
if __name__ == "__main__":
# 随机产生数列
data = np.random.rand(25) * 25
data = data.astype("int32")
print(data)
# [23 19 13 11 6 9 11 13 14 23 10 21 24 2 11 20 6 16 12 22 12 1 3 6 6]
我们来看一下图
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
if __name__ == "__main__":
# 随机产生数列
data = np.random.rand(25) * 25
data = data.astype("int32")
print(data)
# [23 19 13 11 6 9 11 13 14 23 10 21 24 2 11 20 6 16 12 22 12 1 3 6 6]
plt.plot(data)
plt.show()
定义基於柴比雪夫不等式的异常值检测副程序,参数有两个,一个是Pandas的Series,另一个是高於数列平均值的标准差倍数
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
def chebyshev(data, n):
avg = data.mean()
std = n * data.std()
#将平均值以下n倍标准差的资料去除
minmask = data < avg - std
data[minmask] = np.nan
#将平均值以上n倍标准差的资料去除
maxmask = data > avg + std
data[maxmask] = np.nan
return data
if __name__ == "__main__":
# 随机产生数列
data = np.random.rand(25) * 25
data = data.astype("int32")
print(data)
# [23 19 13 11 6 9 11 13 14 23 10 21 24 2 11 20 6 16 12 22 12 1 3 6 6]
#建立Series
data = pd.Series(data)
#将平均值以上及以下1倍标准差的资料去除
data = chebyshev(data, 1)
print(data)
"""
0 NaN
1 13.0
2 7.0
3 11.0
4 12.0
5 11.0
6 17.0
7 5.0
8 14.0
9 15.0
10 NaN
11 NaN
12 NaN
13 12.0
14 NaN
15 15.0
16 15.0
17 NaN
18 8.0
19 17.0
20 NaN
21 NaN
22 17.0
23 16.0
24 NaN
dtype: float64
"""
<<: ES2021(ES12) - string、Promise、运算子
>>: [Day26] VSCode Plugin - Edge Tools<未完>
今天放假好开心,睡超饱的ヾ(^▽^))), 但是还是要起床发文啦~ Text顾名思义就是可以输入文字...
从小到大看了上万篇的文章,绝大部分的文章开头肯定是少不了跟读者打招呼的。 大家安安,我这次报名的题目...
这是一篇有用的工具文。 日常生活中,我们不可避免会碰上误删,误格式化硬碟/外接硬碟/记忆卡亦或是随身...
前言 从上周末开始到周三,除了学习老师教的观察者模式(Observer Pattern)和几种排序方...
经过上一篇物件侦测(1)的介绍,我们终於可以正式进入更完整的影像侦测小世界了! 之前说过物件侦测有的...