【问题标题】:Running k-medoids algorithm in ELKI在 ELKI 中运行 k-medoids 算法
【发布时间】:2023-04-02 18:40:01
【问题描述】:

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

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

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

【问题讨论】:

    标签: cluster-analysis data-mining elki


    【解决方案1】:

    ELKI 主要用于数字数据。

    遗憾的是,目前 ELKI 没有“混合”数据类型。

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

    1. 包含age 的一维数值关系
    2. 一个LabelList关系存储sexregion
    3. 包含salary 的一维数值关系
    4. 一个LabelList关系存储married
    5. 一维数值关系存储children
    6. 一个LabelList关系存储car

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

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

    所以这是你需要做的:

    1. 实现一种高效的数据类型来存储混合类型的数据。
    2. 修改 ARFF 解析器以生成混合类型数据的单一关系。
    3. 为这种类型实现一个距离函数,因为缺少混合类型的数据表示意味着我们也没有距离。
    4. 在 k-Medoids 中选择这个新的距离函数。
    5. 共享代码,这样其他人就不必再这样做了。 ;-)

    或者,您可以编写一个脚本来将您的数据编码到一个数字数据集中,然后它就可以正常工作了。但在我看来,one-hot-encoding 等的结果通常不是很有说服力。

    【讨论】:

    • 非常感谢埃里希的回复!不幸的是,我现在没有时间,但如果我这样做了,我一定会分享代码!我确实获得了一个基于所有属性的相似度矩阵,但我很困惑该选择哪个解析器,你能帮忙吗?
    • 你应该能够让解析器保持原样(它工作得很好);并且只需将距离设置为在 k-medoids 中基于 external 文件的距离函数。
    猜你喜欢
    • 2013-02-25
    • 2013-04-16
    • 2017-03-29
    • 1970-01-01
    • 2017-03-19
    • 2014-02-28
    • 1970-01-01
    • 2021-11-24
    • 2017-05-12
    相关资源
    最近更新 更多