代码之家  ›  专栏  ›  技术社区  ›  abhgh

无法对Elki使用预先计算的距离

  •  0
  • abhgh  · 技术社区  · 11 年前

    我正在尝试使用Elki预先计算的距离,但由于某种原因,它无法正常工作。我已阅读此处的说明: http://elki.dbs.ifi.lmu.de/wiki/HowTo/PrecomputedDistances 关于SO的问题: ELKI - input distance matrix .

    不幸的是,我仍然无法让ELKI工作。

    这是我在bash shell中运行的命令:

    java -jar  elki.jar -verbose  -dbc.filter FixedDBIDsFilter -dbc.startid 0 -dbc.in elki_dummy_ids -algorithm clustering.kmeans.KMeansLloyd -algorithm.distancefunction external.FileBasedDoubleDistanceFunction -distance.matrix elki_sample_dist_ut.txt -kmeans.k 3
    

    以下是参数中文件的内容:

    $cat elki_dummy_ids
    0
    1
    2
    
    
    $cat elki_sample_dist_ut.txt
    0 0 0.0000
    0 1 0.8876
    0 2 0.8571
    1 1 0.0
    1 2 0.9059
    2 2 0.0
    

    我也尝试了使用下三角距离矩阵:

    $cat elki_sample_dist_lt.txt
    0 0 0.0000
    1 0 0.8876
    1 1 0.0
    2 0 0.8571
    2 1 0.9059
    2 2 0.0
    

    但这也没有运气。 我一直收到这个错误(被截断-但如果您需要完整的错误消息,请告诉我):

    未处理以下参数: [external.FileBasedDoubleDistanceFunction,实例矩阵, elki_sample_dist_ut.txt]任务未完全配置:

    参数algorithm.distancefunction的值错误。读取: de.lmu.ifi.dbs.elki.distance距离函数外部文件基双距离函数。 预期:距离函数,用于确定数据库之间的距离 物体。实施 de.lmu.ifi.dbs.elki.distance距离函数基本距离函数 已知类(默认包 de.lmu.ifi.dbs.leki.distance距离函数):

    我正在使用 OpenJDK运行时环境(IcedTea 2.4.7)(7u55-2.4.7-1ubuntu1) 埃尔基0.6.0 .

    有人能指出我在这里遗漏了什么吗?提前感谢!

    1 回复  |  直到 9 年前
        1
  •  0
  •   Has QUIT--Anony-Mousse    11 年前

    k均值 不能 可用于预先计算的距离。

    因为它计算从点到 质心 ,这是您以前不知道的,因此无法预先计算。

    加上k均值 应该 只能用于 数字的 数据,带有 平方欧几里德距离 否则可能无法收敛。这个 意思是 最小化平方偏差之和,以及 不会最小化任意距离 .

    你可能正在寻找PAM,k-medoids,DBSCAN,OPTICS,HAC。。。这些算法 使用其他距离,并且只需要成对的距离。