我正在尝试使用 ELKI 进行异常值检测;我有我的自定义距离矩阵,我正在尝试将其输入到 ELKI 以执行 LOF(例如,第一次)。
我尝试关注http://elki.dbs.ifi.lmu.de/wiki/HowTo/PrecomputedDistances但对我来说不是很清楚。我做什么:
我不想从数据库加载数据,所以我使用:
-dbc DBIDRangeDatabaseConnection -idgen.count 100
(其中 100 是我要分析的对象数量)
我使用 LOF 算法并调用外部距离文件
-algorithm outlier.LOF -algorithm.distancefunction external.FileBasedDoubleDistanceFunction -distance.matrix testData.ascii -lof.k 3
我的距离文件如下(为了测试目的很简单)
0 0 0
0 1 1
0 2 0.2
0 3 0.1
1 1 0
1 2 0.9
1 3 0.9
2 2 0
2 3 0.2
3 3 0
4 0 0.23
4 1 0.97
4 2 0.15
4 3 0.07
4 4 0
5 0 0.1
5 1 0.85
5 2 0.02
5 3 0.15
5 4 0.1
5 5 0
6 0 1
6 1 1
6 2 1
6 3 1
ETC
结果说:“所有在一个微不足道的聚类中”,虽然这不是聚类,而且我的数据中肯定存在异常值。
我做的对吗?或者我错过了什么?