異常點 離群點檢測演算法 LOF

2021-10-01 11:38:54 字數 1075 閱讀 9413

在資料探勘方面,經常需要在做特徵工程和模型訓練之前對資料進行清洗,剔除無效資料和異常資料。異常檢測也是資料探勘的乙個方向,用於反作弊、偽基站、金融詐騙等領域。

異常檢測方法,針對不同的資料形式,有不同的實現方法。常用的有基於分布的方法,在上、下α分位點之外的值認為是異常值(例如圖1),對於屬性值常用此類方法。基於距離的方法,適用於二維或高維座標體系內異常點的判別,例如二維平面座標或經緯度空間座標下異常點識別,可用此類方法。

這次要介紹一下一種基於距離的異常檢測演算法,區域性異常因子lof演算法(local outlier factor)。

用視覺直觀的感受一下,如圖2,對於c1集合的點,整體間距,密度,分散情況較為均勻一致,可以認為是同一簇;對於c2集合的點,同樣可認為是一簇。o1、o2點相對孤立,可以認為是異常點或離散點。現在的問題是,如何實現演算法的通用性,可以滿足c1和c2這種密度分散情況迥異的集合的異常點識別。lof可以實現我們的目標。

下面介紹lof演算法的相關定義:

1)d(

p,o)

d(p,o)

的區域性可達密度與點p的區域性可達密度之比的平均數。

如果這個比值越接近1,說明p的其鄰域點密度差不多,p可能和鄰域同屬一簇;如果這個比值越小於1,說明p的密度高於其鄰域點密度,p為密集點;如果這個比值越大於1,說明p的密度小於其鄰域點密度,p越可能是異常點。

現在概念定義已經介紹完了,現在再回過頭來看一下lof的思想,主要是通過比較每個點p和其鄰域點的密度來判斷該點是否為異常點,如果點p的密度越低,越可能被認定是異常點。至於密度,是通過點之間的距離來計算的,點之間距離越遠,密度越低,距離越近,密度越高,完全符合我們的理解。而且,因為lof對密度的是通過點的第k鄰域來計算,而不是全域性計算,因此得名為「區域性」異常因子,這樣,對於圖1的兩種資料集c1和c2,lof完全可以正確處理,而不會因為資料密度分散情況不同而錯誤的將正常點判定為異常點。

異常點 離群點檢測演算法 LOF

在資料探勘方面,經常需要在做特徵工程和模型訓練之前對資料進行清洗,剔除無效資料和異常資料。異常檢測也是資料探勘的乙個方向,用於反作弊 偽基站 金融詐騙等領域。異常檢測方法,針對不同的資料形式,有不同的實現方法。常用的有基於分布的方法,在上 下 分位點之外的值認為是異常值 例如圖1 對於屬性值常用此類...

異常點 離群點檢測演算法 LOF解析

在資料探勘方面,經常需要在做特徵工程和模型訓練之前對資料進行清洗,剔除無效資料和異常資料。異常檢測也是資料探勘的乙個方向,用於反作弊 偽基站 金融詐騙等領域。異常檢測方法,針對不同的資料形式,有不同的實現方法。常用的有基於分布的方法,在上 下分位點之外的值認為是異常值 例如圖1 對於屬性值常用此類方...

python離群點檢測例子 異常點 離群點檢測演算法

異常點 離群點檢測演算法 瀏覽次數 456 sklearn中關於異常檢測的方法主要有兩種 1 novelty detection 當訓練資料中沒有離群點,我們的目標是用訓練好的模型去檢測另外新發現的樣本 2 outlier detection 當訓練資料中包含離群點,模型訓練時要匹配訓練資料的中心樣...