使用Python進行異常檢測的解決方案
如圖所示,我們沒有太多異常數(shù)據(jù),所以,如果我們從75%的值開始,會是比較好的結(jié)果,但為了安全起見,我會從平均值開始。所以我們將從平均值和更低的概率范圍開始檢查這個范圍內(nèi)每個概率的f1分數(shù)。首先,定義一個函數(shù)來計算真正例、假正例和假反例:def tpfpfn(ep):
tp, fp, fn = 0, 0, 0
for i in range(len(y)):
if p[i] <= ep and y[i][0] == 1:
tp += 1
elif p[i] <= ep and y[i][0] == 0:
fp += 1
elif p[i] > ep and y[i][0] == 1:
fn += 1
return tp, fp, fn
列出低于或等于平均概率的概率。eps = [i for i in p if i <= p.mean()]
檢查一下列表的長度len(eps)
輸出:133
根據(jù)前面討論的公式定義一個計算f1分數(shù)的函數(shù):def f1(ep):
tp, fp, fn = tpfpfn(ep)
prec = tp/(tp + fp)
rec = tp/(tp + fn)
f1 = 2*prec*rec/(prec + rec)
return f1
所有函數(shù)都準備好了!現(xiàn)在計算所有epsilon和我們之前選擇的概率值范圍的f1分數(shù)。f = []
for i in eps:
f.a(chǎn)ppend(f1(i))
f
輸出:[0.14285714285714285,
0.14035087719298248,
0.1927710843373494,
0.1568627450980392,
0.208955223880597,
0.41379310344827586,
0.15517241379310345,
0.28571428571428575,
0.19444444444444445,
0.5217391304347826,
0.19718309859154928,
0.19753086419753085,
0.29268292682926833,
0.14545454545454545,
這是f分數(shù)表的一部分,它的長度是133。f分數(shù)通常在0到1之間,其中f1得分越高越好,所以,我們需要從剛才計算的f分數(shù)列表中取f的最高分數(shù)。現(xiàn)在,使用“argmax”函數(shù)來確定f分數(shù)值最大值的索引。np.a(chǎn)rray(f).a(chǎn)rgmax()
輸出:131
現(xiàn)在用這個索引來得到閾值概率。e = eps[131]
e
輸出:6.107184445968581e-05
找出異常實例現(xiàn)在我們有了臨界概率,可以從中找出我們訓練數(shù)據(jù)的標簽了。如果概率值小于或等于該閾值,則數(shù)據(jù)為異常數(shù)據(jù),否則為正常數(shù)據(jù)。我們將正常數(shù)據(jù)和異常數(shù)據(jù)分別表示為0和1,label = []
for i in range(len(df)):
if p[i] <= e:
label.a(chǎn)ppend(1)
else:
label.a(chǎn)ppend(0)
label
輸出:[0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
這是標簽列表的一部分。我將在上面的訓練數(shù)據(jù)集中添加此標簽:df['label'] = np.a(chǎn)rray(label)
df.head()
我在標簽為1的地方用紅色繪制數(shù)據(jù),在標簽為0的地方用黑色繪制,得到以下結(jié)果。
我們可以看到紅色的數(shù)據(jù)明顯是異常值。結(jié)論本文我們一步一步地解釋了開發(fā)異常檢測算法的整個過程,如果你通過閱讀本文無法理解算法的過程,建議你運行每一段代碼來加強理解。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
-
10 大模型的盡頭是開源
- 1 特斯拉工人被故障機器人打成重傷,索賠3.6億
- 2 【行業(yè)深度研究】退居幕后四年后,張一鳴終于把算法公司變成AI公司?
- 3 AI 時代,阿里云想當“安卓” ,那誰是“蘋果”?
- 4 硬剛英偉達!華為發(fā)布全球最強算力超節(jié)點和集群
- 5 機器人9月大事件|3家國產(chǎn)機器人沖刺IPO,行業(yè)交付與融資再創(chuàng)新高!
- 6 谷歌“香蕉”爆火啟示:國產(chǎn)垂類AI的危機還是轉(zhuǎn)機?
- 7 00后華裔女生靠兩部AI電影狂賺7.8億人民幣,AI正式進軍好萊塢
- 8 美光:AI Capex瘋投不止,終于要拉起存儲超級周期了?
- 9 華為已殺入!AI領(lǐng)域最熱黃金賽道,大廠的數(shù)字人美女讓我一夜沒睡著覺
- 10 隱退4年后,張一鳴久違現(xiàn)身!互聯(lián)網(wǎng)大佬正集體殺回