问题描述
我想计算k最近邻距离和局部离群因子,以用于构造每个数据点的连续异常评分。
我使用以下代码:
REPOPASSWORD=$(/Applications/KeePassXC.app/Contents/MacOS/keepassxc-cli show -a Password --key-file=/path/to/keyfile /path/to/database.kdbx "/path/to/entry/within/database")
echo $REPOPASSWORD
结果如下:
library(FNN)
knn <- get.knn(as.matrix(data),k = 5)
# to build kNN score for each point,we need to take the average value in each row of the distance matrix nn.dist
data$knn_scores <- rowMeans(knn$nn.dist)
# similarly I compute lof scores
library(dbscan)
data$lof_scores <- lof(as.matrix(data),k = 5)
这很容易在小型数据集上进行计算。但是,它在具有超过10000行的数据集上效率不高。就我而言,我的数据集有一百万行,我仍然需要为数据集中的每个数据点计算这些分数。如何加快此过程?
可复制的数据:
select(data,knn_scores,lof_scores)
# knn_scores lof_scores
# <dbl> <dbl>
# 0.000000 1
# 0.000000 1
# 0.000000 1
# 0.000000 1
# 0.000000 1
# 0.000000 1
# 0.000000 1
# 0.000000 1
# 0.000000 1
# 0.000000 1
...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)