模塊11 異常檢測《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》教學(xué)課件_第1頁
模塊11 異常檢測《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》教學(xué)課件_第2頁
模塊11 異常檢測《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》教學(xué)課件_第3頁
模塊11 異常檢測《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》教學(xué)課件_第4頁
模塊11 異常檢測《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》教學(xué)課件_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》?精品課件合集《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》

第十一章異常檢測二、

基于統(tǒng)計的異常檢測算法

一、概述主要內(nèi)容三、

基于聚類的異常檢測算法四、孤立森林方法一、概述

異常檢測(AnomalyDetection)是一種重要的數(shù)據(jù)挖掘任務(wù),其主要目的是識別與其它觀測數(shù)據(jù)相比有明顯偏離的數(shù)據(jù),而這些數(shù)據(jù)被稱為異常點(Anomaly)或者離群點(Outlier)。異??赡艽碇鴺O少數(shù)的、不可預(yù)測或者不確定、罕見的事件。在一些特殊的應(yīng)用中,異常數(shù)據(jù)可能代表具有特殊意義的事件或模式。

一、概述

由于異常點的分布未知,來源復(fù)雜,使得異常檢測常面臨著如下的困難:未知性異構(gòu)性嚴(yán)重的類別不平衡

目前,大多數(shù)已提出的異常檢測方法采用無監(jiān)督的方式,包括以下幾類:

1.基于統(tǒng)計的方法:如基于多元正態(tài)分布的異常檢測方法。2.基于距離的方法:如基于kNN的方法等。3.基于密度的方法:如局部離群因子(LOF)方法等。4.基于聚類的方法:如基于DBSCAN的方法等。5.基于樹模型的方法:如孤立森林(IsolationForest)方法等。一、概述

由于異常點的分布未知,來源復(fù)雜,使得異常檢測常面臨著如下的困難:未知性異構(gòu)性嚴(yán)重的類別不平衡

目前,大多數(shù)已提出的異常檢測方法采用無監(jiān)督的方式,包括以下幾類:

1.基于統(tǒng)計的方法:如基于多元正態(tài)分布的異常檢測方法。2.基于距離的方法:如基于kNN的方法等。3.基于密度的方法:如局部離群因子(LOF)方法等。4.基于聚類的方法:如基于DBSCAN的方法等。5.基于樹模型的方法:如孤立森林(IsolationForest)方法等。二、基于統(tǒng)計的異常檢測方法

基于統(tǒng)計的異常檢測算法一般通過兩個步驟來識別異常點:

(1)假設(shè)數(shù)據(jù)服從一定的概率分布(如正態(tài)分布、泊松分布),并利用現(xiàn)有數(shù)據(jù)估計分布函數(shù)中的參數(shù);

(2)計算每個數(shù)據(jù)對象隸屬于該分布的概率,最后將概率最低的少數(shù)數(shù)據(jù)視為異常。

其中,正態(tài)分布是實際應(yīng)用中最為常用的一種概率分布模型。

二、基于統(tǒng)計的異常檢測方法

二、基于統(tǒng)計的異常檢測方法

二、基于統(tǒng)計的異常檢測方法

二、基于統(tǒng)計的異常檢測方法

異常檢測模型場采用以真陽率(TPR,truepositiverate)和假陽率(FPR,falsepositiverate)為基礎(chǔ)的性能指標(biāo)進(jìn)行評價:AUC(areaundercurve):ROC曲線線下面積precision@n:又稱為”TOP-n精準(zhǔn)度”。若數(shù)據(jù)集中原有的n個異常對象,被模型識別出k個,此時precision@n=k/n。二、基于統(tǒng)計的異常檢測方法

3.基于Python的實現(xiàn)實現(xiàn)方法:使用np.mean()和np.cov()函數(shù)分別計算數(shù)據(jù)集的均值和協(xié)方差;使用自定義的multivariate_Gaussian()函數(shù)計算數(shù)據(jù)對象在多元正態(tài)分布上的概率密度值。二、基于統(tǒng)計的異常檢測方法

3.基于Python的實現(xiàn)在人工數(shù)據(jù)集上,檢驗多元正態(tài)分布異常檢測方法的有效性,并采用AUC和precision@n兩個指標(biāo)進(jìn)行評價。三、基于聚類的異常檢測方法

聚類分析是發(fā)現(xiàn)強(qiáng)相關(guān)數(shù)據(jù)對象的過程,而異常檢測是發(fā)現(xiàn)不與其他數(shù)據(jù)強(qiáng)相關(guān)對象的過程。因此,聚類分析天然可以用于異常檢測。

將聚類模型應(yīng)用在異常檢測中通常由兩種思路:三、基于聚類的異常檢測方法

聚類分析是發(fā)現(xiàn)強(qiáng)相關(guān)數(shù)據(jù)對象的過程,而異常檢測是發(fā)現(xiàn)不與其他數(shù)據(jù)強(qiáng)相關(guān)對象的過程。因此,聚類分析天然可以用于異常檢測。

將聚類模型應(yīng)用在異常檢測中通常由兩種思路:

(1)丟棄遠(yuǎn)離其它簇的小簇

將所有的數(shù)據(jù)按照其相似度分為若干個簇,在此種情況下,遠(yuǎn)離其它數(shù)據(jù)對象的小簇在特征空間中處于“孤立”的位置,如果這個簇內(nèi)的數(shù)據(jù)特別少,則自然地可以認(rèn)為這個“小簇”內(nèi)所有的數(shù)據(jù)點均為異常

三、基于聚類的異常檢測方法

聚類分析是發(fā)現(xiàn)強(qiáng)相關(guān)數(shù)據(jù)對象的過程,而異常檢測是發(fā)現(xiàn)不與其他數(shù)據(jù)強(qiáng)相關(guān)對象的過程。因此,聚類分析天然可以用于異常檢測。

將聚類模型應(yīng)用在異常檢測中通常由兩種思路:

(1)丟棄遠(yuǎn)離其它簇的小簇

將所有的數(shù)據(jù)按照其相似度分為若干個簇,在此種情況下,遠(yuǎn)離其它數(shù)據(jù)對象的小簇在特征空間中處于“孤立”的位置,如果這個簇內(nèi)的數(shù)據(jù)特別少,則自然地可以認(rèn)為這個“小簇”內(nèi)所有的數(shù)據(jù)點均為異常

(2)基于原型的聚類方法

首先對所有數(shù)據(jù)進(jìn)行聚類,然后評估每個數(shù)據(jù)對象隸屬于它所在的簇的程度。通常,可以用每個數(shù)據(jù)到它的原型的距離來衡量隸屬度值三、基于聚類的異常檢測方法

基于Python的實現(xiàn):

以DBSCAN聚類算法為例,DBSCAN會自動將遠(yuǎn)離簇心的數(shù)據(jù)對象識別為異常點,因此天然地適用于異常檢測任務(wù)。

(a)eps=0.4;

(b)eps=1.5DBSCAN聚類模型的異常識別結(jié)果(×表示異常數(shù)據(jù),o表示正常數(shù)據(jù))四、孤立森林

1基于原理四、孤立森林

在該過程中,我們實際使用了一棵的決策樹來切分?jǐn)?shù)據(jù),如右側(cè)所示。

顯然,對象B跟其它數(shù)據(jù)對象比較疏遠(yuǎn),只用很少的切分次數(shù)就可以把它切單獨分離出來,對象A跟其他數(shù)據(jù)對象聚集在一起,可能需要更多的次數(shù)才能把它單獨切分出來。四、孤立森林

再看二維數(shù)據(jù)集的情況::

四、孤立森林

可以觀察到的現(xiàn)象:距離其他對象越遠(yuǎn)的數(shù)據(jù),越容易被孤立出來,它在決策樹(孤立樹)中的位置與根節(jié)點越靠近;反之,與其他對象越近的對象,則需要更多次數(shù)的切分才能將它孤立出來,它在決策樹中的位置與根節(jié)點越遠(yuǎn)。

孤立森林模型實現(xiàn)異常檢測的基本原理:我們可以根據(jù)在“孤立"數(shù)據(jù)的過程中,數(shù)據(jù)對象出現(xiàn)在決策樹(孤立樹)中的位置來估計對象的異常程度,越異常的對象,越遠(yuǎn)離其他對象,因而越可能出現(xiàn)在決策樹中比較高的位置(更靠近根節(jié)點),反之亦然。四、孤立森林

孤立樹(iTree):孤立森林中的決策樹稱為”孤立樹“,它具有以下明顯特點:(1)構(gòu)建孤立樹的目標(biāo)是將每一個數(shù)據(jù)對象劃分到它的一個葉子節(jié)點上;(2)孤立樹中節(jié)點的分裂條件(包括屬性和分裂值)是隨機(jī)選取的;(3)它是一棵二叉樹;(4)孤立森林模型同時生成大量的孤立樹。四、孤立森林

四、孤立森林

四、孤立森林

2基于Python的實現(xiàn)

我們使用第三方的Pyod工具包中實現(xiàn)的孤立森林模型。

可以在Anaconda下的命令行環(huán)境使用conda命令或者pip命令安裝,如下所示:

pipinstallpyod

工具包的pyod.models.iforest模塊提供了IForest類,使用它可以創(chuàng)建一個孤立森林模型,其基本語法為:

IForest(n_estimators=100,max_samples='auto',max_features=1.0,contamination=0.1,bootstrap=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論