【问题标题】:ELKI - input distance matrixELKI - 输入距离矩阵
【发布时间】:2013-07-14 16:36:36
【问题描述】:

我正在尝试使用 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  

结果说:“所有在一个微不足道的聚类中”,虽然这不是聚类,而且我的数据中肯定存在异常值。

我做的对吗?或者我错过了什么?

【问题讨论】:

    标签: outliers elki


    【解决方案1】:

    当使用DBIDRangeDatabaseConnection,并且不给ELKI任何实际数据时,可视化不能产生特别有用的结果(因为它毕竟没有实际数据)。也不能自动评估数据。

    “all in one trivial clustering”是自动尝试可视化数据的产物,但由于上述原因,这不起作用。为未标记的数据自动添加此聚类,以允许一些可视化工作。

    有两件事可以为您做:

    1. 设置一个输出处理程序。例如-resulthandler ResultWriter,它将产生类似这样的输出:

      ID=0 lof-outlier=1.0
      

      其中ID= 是对象编号,lof-outlier= 是 LOF 异常值分数。

      或者,您可以实现自己的输出处理程序。在这里可以找到一个示例: http://elki.dbs.ifi.lmu.de/browser/elki/trunk/src/tutorial/outlier/SimpleScoreDumper.java

    2. 修复DBIDRangeDatabaseConnection。然而,您被 ELKI 0.6.0~beta1 中的一个错误所困扰:DBIDRangeDatabaseConnection 实际上没有正确初始化其参数。 微不足道的错误修复(在构造函数中未正确初始化参数)在这里:

      http://elki.dbs.ifi.lmu.de/changeset/11027/elki

      或者,您可以创建一个虚拟输入文件并使用常规文本输入。包含

      的文件
      0
      1
      2
      ...
      

      应该可以解决问题。使用-dbc.in numbers100.txt -dbc.filter FixedDBIDsFilter -dbc.startid 0。后面的参数是让你的 ID 从 0 开始,而不是 1(默认)。

      此解决方法将产生略有不同的输出格式:

      ID=0 0.0 lof-outlier=1.0
      

      其中附加列来自虚拟文件。当使用外部距离函数时,虚拟值不会影响 LOF 的算法结果;但是这种方法会使用一些额外的内存。

    【讨论】:

      猜你喜欢
      • 2016-04-09
      • 1970-01-01
      • 2016-12-06
      • 2011-08-08
      • 2019-09-04
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多