【发布时间】:2014-02-14 22:08:26
【问题描述】:
我需要使用相关距离进行一些聚类,但我需要绝对 Pearson 距离,而不是使用定义为 d=1-r 的内置“距离”“相关”。在我的应用程序中,反相关数据应该获得相同的集群 ID。现在,当使用 kmeans() 函数时,我得到了高度反相关的质心,我想通过组合它们来避免这些质心。现在,我对 matlab 还不是很流利,并且在阅读 kmeans 函数时遇到了一些问题。是否可以根据我的目的对其进行编辑?
示例:
当使用相关距离作为指标时,第 1 行和第 2 行应该获得相同的集群 ID。
我做了一些尝试来编辑内置的 matlab 函数(打开 kmeans->line 775) 但奇怪的是——当我改变距离函数时,我得到一个有效的距离矩阵但错误的集群索引,找不到原因。 很想得到一些提示!万事如意!
【问题讨论】:
-
我不明白你的问题......你的意思是:“现在当使用 kmeans() 函数时,我得到的质心高度反相关”我认为这就是你想要的......或者这句话错了吗?
-
感谢您的回答,不,这不是我想要的,也许我写的这句话不清楚。我需要的是脚本将反相关数据视为相同。为此,距离函数必须为 -1 和 1 提供相同的值。所以它可以是 abs(pearson_corr_coef)
-
所以你可以修改另一个版本的kmeans,正如我在答案中指出的那样
标签: matlab cluster-analysis data-mining k-means