日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

R语言之离群点检验(part2)--局部离群点因子LOF检验

發布時間:2023/12/19 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 R语言之离群点检验(part2)--局部离群点因子LOF检验 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習筆記
參考文獻:《R語言與數據挖掘》


局部離群點因子檢驗

概述

局部離群點因子(LOF)是一種基于密度的局部離群點的算法。局部離群點因子算法,將一個點的局部密度與其鄰域點的局部密度進行比較。如果前者遠遠小于后者,則該點相對于鄰域點位于一個密度更稀疏的區域,則判定該點為離群點。
此處有一個LOF判別標準:
LOF值接近1,說明該點與其鄰域點密度差不多,該點可能和鄰域點同屬一簇;
LOF值小于1,說明該點的密度高于其鄰域點密度,該點為密集點;
LOF值大于1,說明該點的密度小于其鄰域點密度,且值越大,該點越可能是異常點。

LOF數學原理

這里我就給一個LOF的計算公式:

這個LOF計算公式,涉及到局部可達密度、可達距離、k距離鄰域、第k距離等概念。這里就不一一敘述了。為啥不一一敘述???因為下面的兩篇文章已經將LOF的數學原理解釋的相當清楚了,歡迎大家去學習。

  • LOF原理

LOF離群因子檢測算法及python3實現
異常點/離群點檢測算法——LOF

R語言實現

  • 相關函數
library(DMwR) lofactor(df, k = 5) #使用LOF算法計算局部離群點因子 #df為數據集 #k參數為LOF公式中的k,按照具體情況自行設置。

如何理解k呢?舉個例子(設置k=5):你要抓幾個人來實驗,此時你身邊有n個人,以你為中心,這n個人離你的距離為[1m, 2m, 2m, 4m, 5m, 5m, 5m, 6m, 6m, 7m…],你想要抓離你最近的5個人,你按照距離從小到大依次抓人,當你抓到第5個人時,你發現有3個人離你的距離都為5m,這可咋整呢,要抓哪位仁兄呢?為了公平起見,且量大從優,你把這3個距離你5m的人都抓去做實驗,那么離你最近的7個人就被你選入了實驗中。

從原理的角度來說,當設置k=5時,就有7個點參與了目標點的局部密度計算。

  • 案例

利用R自帶的鳶尾花數據集來進行離群點檢驗。

代碼1:

library(DMwR) data(iris)#提取其中的數值型變量 iris2 <- iris[, 1:4] #LOF法 lof_score <- lofactor(iris2, k = 5)#繪制密度曲線 plot(density(lof_score), main = 'lof密度曲線', xlab = 'Lof值')

圖像:

代碼2:

#離群點行號 (out_point <- order(lof_score, decreasing = T)[1:5]) #[1] 42 107 23 110 63#繪制矩陣散點圖 n <- nrow(iris2) pch <- rep(".", n) pch[out_point] <- "+" col <- rep("black", n) col[out_point] <- "red" pairs(iris2, pch = pch, col = col,main = "散點圖矩陣")

圖像:

總結

以上是生活随笔為你收集整理的R语言之离群点检验(part2)--局部离群点因子LOF检验的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。