現(xiàn)在有這樣一組數(shù)據(jù),希望去除掉里面的異常數(shù)據(jù)。其中,異常數(shù)據(jù)可能比正常數(shù)據(jù)大也可能比正常數(shù)據(jù)小,可能是正的也可能是負(fù)的。
數(shù)據(jù)為deg=[]
import numpy as np
if(True):
#new_nums = list(set(deg)) #剔除重復(fù)元素
mean = np.mean(deg)
var = np.var(deg)
print("原始數(shù)據(jù)共",len(deg),"個(gè)\n",deg)
'''
for i in range(len(deg)):
print(deg[i],'→',(deg[i] - mean)/var)
#另一個(gè)思路,先歸一化,即標(biāo)準(zhǔn)正態(tài)化,再利用3σ原則剔除異常數(shù)據(jù),反歸一化即可還原數(shù)據(jù)
'''
#print("中位數(shù):",np.median(deg))
percentile = np.percentile(deg, (25, 50, 75), interpolation='midpoint')
print("分位數(shù):",percentile)
#以下為箱線圖的五個(gè)特征值
Q1 = percentile[0]#上四分位數(shù)
Q3 = percentile[2]#下四分位數(shù)
IQR = Q3 - Q1#四分位距
ulim = Q3 + 1.5*IQR#上限 非異常范圍內(nèi)的最大值
llim = Q1 - 1.5*IQR#下限 非異常范圍內(nèi)的最小值
new_deg = []
for i in range(len(deg)):
if(llim
運(yùn)行效果如下,由于數(shù)據(jù)是從攝像頭采集的,每次會有點(diǎn)不一樣
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
