基於相似度的方法

2021-10-17 03:32:56 字數 1613 閱讀 3366

「異常」通常是乙個主觀的判斷,需要結合業務背景和環境來具體分析確定。雜訊和異常之間、正常資料和噪

聲之間的邊界都是模糊的。異常值通常具有更高的離群程度分數值,同時也更具有可解釋性。

巢狀迴圈

第一層迴圈遍歷每個資料,第二層迴圈進行異常判斷,需要計算當前點與其他點的距離,一旦已識別出多於 個資料點與當前點的距離在 之內,則將該點自動標記為非異常值。這樣計算的時間複雜度為 ,當資料量比較大時,這樣計算是及不划算的。 因此,需要修剪方法以加快距離計算。

基於單元的方法

在基於單元格的技術中,資料空間被劃分為單元格,單元格的寬度是閾值d和資料維數的函式。具體地說,每個維度被劃分成寬度最多為 單元格。在給定的單元以及相鄰的單元中存在的資料點滿足某些特性,這些特性可以讓資料被更有效的處理。

以二維情況為例,此時網格間的距離為 ,需要記住的一點是,網格單元的數量基於資料空間的分割槽,並且與資料點的數量無關。這是決定該方法在低維資料上的效率的重要因素,在這種情況下,網格單元的數量可能不多。 另一方面,此方法不適用於更高維度的資料。

基於密度的度量

基於密度的演算法主要有區域性離群因子(localoutlie***ctor,lof),以及loci、clof等基於lof的改進演算法

k-距離(k-distance§):

對於資料集d中的某乙個物件o,與其距離最近的k個相鄰點的最遠距離表示為k-distance§,定義

為給定點p和資料集d中物件o之間的距離d(p,o),滿足:

在集合d中至少有k個點 o』,其中 ,滿足

在集合d中最多有k-1個點o』,其中 ,滿足

直觀一些理解,就是以物件o為中心,對資料集d中的所有點到o的距離進行排序,距離物件o第k近

的點p與o之間的距離就是k-距離。

k-鄰域(k-distance neighborhood):從「距離」這個概念延伸到「空間」

可達距離(reachability distance):若 在物件o的k-鄰域內,則可達距離就是給定點p關於物件o的k-距離;

若 在物件o的k-鄰域外,則可達距離就是給定點p關於物件o的實際距離。

區域性可達密度(local reachability density):

我們可以將「密度」直觀地理解為點的聚集程度,就是說,點與點之間距離越短,則密度越大。在這

裡,我們使用資料集d中給定點p與物件o的k-鄰域內所有點的可達距離平均值的倒數(注意,不是導

數)來定義區域性可達密度。

區域性異常因子:最終得出的lof數值,就是我們所需要的離群點分數。在sklearn中有localoutlie***ctor庫,可以

直接呼叫。

然後使用localoutlie***ctor庫對構造資料集進行訓練,得到訓練的標籤和訓練分數(區域性離群值)。

將訓練分數(離群程度)用圓直觀地表示出來,並對構造標籤與訓練標籤不一致的資料用不同顏色的圓進行標註。

余弦相似度及基於python的余弦相似度實現

余弦相似度,又稱為余弦相似性,是通過計算兩個向量的夾角余弦值來評估他們的相似度。對於兩個向量,可以想象成空間中的兩條線段,都是從原點 0,0,出發,指向不同的方向。兩條線段之間形成乙個夾角 如果夾角為0度,則意味著方向相同 線段重合 如果夾角為90度,意味著形成直角,方向完全不相似 如果夾角為180...

基於Map Reduce的相似度計算

基於map reduce的相似度計算 不久前 6.29 參加了chinahadoop的夏季沙龍,聽了人人的大牛講了基於map reduce的相似度計算的優化,感覺對map reduce程式設計模型的理解又進一步加深了,在這裡把該演算法總結成博文,以期能夠更加透徹的理解該演算法。相似度的計算在文字的分...

基於詞頻的檔案相似度

基於詞頻的檔案相似度 實現一種簡單原始的檔案相似度計算,即以兩檔案的公共詞彙佔總詞彙的比 例來定義文章內容相似度。為簡化問題,這裡不考慮中文 因為分詞困難 只 考慮長度不小於 1000 個英文單詞的文章,長度超過 10 字母的單詞只考慮前 10 個字母。輸入 給出要檢查的英文文字檔案的資料夾位置 輸...