在ELKI中运行k-medoids算法

时间:2015-04-28 15:11:01

标签: cluster-analysis data-mining elki

我正在尝试运行ELKI以arff文件的形式在数据集上实现k-medoids(对于k = 3)(使用ELKI中的ARFFParser):

enter image description here

数据集具有7个维度,但是我获得的聚类结果仅在一个维度的级别上显示聚类,并且仅对3个属性执行此操作,忽略其余属性。像这样:

enter image description here

有谁可以帮助我如何获得所有维度的聚类可视化?

1 个答案:

答案 0 :(得分:1)

ELKI主要用于数字数据。

目前,ELKI没有"混合"不幸的是,数据类型。

ARFF解析器会将您的数据集拆分为多重关系

  1. 包含age
  2. 的一维数值关系
  3. 存储sexregion
  4. 的LabelList关系
  5. 包含salary
  6. 的一维数值关系
  7. 存储married
  8. 的LabelList关系
  9. 存储children
  10. 的一维数值关系
  11. 存储car
  12. 的LabelList关系

    但显然它已经弄乱了关系标签。但除此之外,这种方法非常适用于由数值数据+类标签组成的arff数据集,例如 - 编写此解析器的用例。它是一种定义明确且一致的行为,但不是您所期望的行为。

    该算法然后运行它可以使用的第一个关系,即仅age

    所以这就是你需要做的事情:

    1. 实现用于存储混合类型数据的高效数据类型。
    2. 修改ARFF解析器以生成混合类型数据的关系。
    3. 为此类型实现距离函数,因为缺少混合类型数据表示意味着我们也没有距离。
    4. 在k-Medoids中选择此新距离函数。
    5. 分享代码,以便其他人不必再这样做。 ; - )
    6. 或者,您可以编写一个脚本来对数据数据集中的数据进行编码,然后它就能正常工作。但在我看来,单热编码等的结果通常不太令人信服。