u=10=u k-中心点
Running k-medoids algorithm in ELKI
我正在尝试 运行 ELKI 以 arff 文件的形式(使用 ELKI 中的 ARFFParser)在数据集上实现 k-medoids(对于 k=3):
数据集是7维的,但是我得到的聚类结果只显示了一个维度的聚类,并且只对3个属性进行了聚类,忽略了其余的。像这样:
谁能帮助我如何获得所有维度的聚类可视化?
ELKI 主要用于 数值 数据。
目前,ELKI 没有 "mixed" 数据类型,很遗憾。
ARFF 解析器会将您的数据集拆分为多个关系:
- 包含
age
的一维数值关系
- 一个 LabelList 关系存储
sex
和 region
- 包含
salary
的一维数值关系
- 一个标签列表关系存储
married
- 一维数值关系存储
children
- 一个标签列表关系存储
car
不过,显然它弄乱了关系标签。但除此之外,这种方法非常适用于由数字数据 + class 标签组成的 arff 数据集,例如 - 这个解析器是为用例编写的。这是一种定义明确且一致的行为,尽管不是您期望的那样。
算法然后 运行 它可以处理的第一个关系,即仅 age
。
所以这是您需要做的:
- 实现一种高效的数据类型来存储混合类型数据。
- 修改 ARFF 解析器以生成混合类型数据的单一关系。
- 为此类型实现一个距离函数,因为缺少混合类型数据表示意味着我们也没有距离。
- 在 k-Medoids 中选择这个新的距离函数。
- 把代码分享出来,其他人就不用重复了。 ;-)
或者,您可以编写一个脚本将您的数据编码为数字数据集,这样就可以正常工作了。但是在我看来,one-hot-encoding等的结果通常都不是很有说服力。
我正在尝试 运行 ELKI 以 arff 文件的形式(使用 ELKI 中的 ARFFParser)在数据集上实现 k-medoids(对于 k=3):
数据集是7维的,但是我得到的聚类结果只显示了一个维度的聚类,并且只对3个属性进行了聚类,忽略了其余的。像这样:
谁能帮助我如何获得所有维度的聚类可视化?
ELKI 主要用于 数值 数据。
目前,ELKI 没有 "mixed" 数据类型,很遗憾。
ARFF 解析器会将您的数据集拆分为多个关系:
- 包含
age
的一维数值关系
- 一个 LabelList 关系存储
sex
和region
- 包含
salary
的一维数值关系
- 一个标签列表关系存储
married
- 一维数值关系存储
children
- 一个标签列表关系存储
car
不过,显然它弄乱了关系标签。但除此之外,这种方法非常适用于由数字数据 + class 标签组成的 arff 数据集,例如 - 这个解析器是为用例编写的。这是一种定义明确且一致的行为,尽管不是您期望的那样。
算法然后 运行 它可以处理的第一个关系,即仅 age
。
所以这是您需要做的:
- 实现一种高效的数据类型来存储混合类型数据。
- 修改 ARFF 解析器以生成混合类型数据的单一关系。
- 为此类型实现一个距离函数,因为缺少混合类型数据表示意味着我们也没有距离。
- 在 k-Medoids 中选择这个新的距离函数。
- 把代码分享出来,其他人就不用重复了。 ;-)
或者,您可以编写一个脚本将您的数据编码为数字数据集,这样就可以正常工作了。但是在我看来,one-hot-encoding等的结果通常都不是很有说服力。