CLARA与Gower的混合数据类型

时间:2018-05-28 09:35:13

标签: r cluster-analysis large-data similarity categorical-data

我有相当大的数据(1140万条记录和9个变量)。变量由序数,名义和连续数据类型组成。因此,我选择Gower方法来计算用于处理混合数据类型的相异矩阵。但是,数据的大小太大而无法计算。然后我找到另一个有趣的方法叫做CLARA,它使用样本来计算聚类,然后将聚类分配给其他数据点。问题是我找不到合适的度量来计算混合数据类型的距离。换句话说,clara in cluster packageclara_medoids in ClusterR package中都没有Gower选项(这是我在R中可以找到的clara)。

为什么CLARA没有gower选项? 我该怎么办?

2 个答案:

答案 0 :(得分:0)

CLARA在Kaufman和Rousseeuw(1990)中有描述。

该算法的特点是它可以处理更大的数据集,因为它在内存和计算要求方面具有线性复杂性。

Gower距离计算相异矩阵,其内存复杂度为指数O(n ^ 2),这意味着您将获得1140万行和1140万列的矩阵。显然不可行。

如果你想使用gower的距离,你应该尝试使用较小的子样本并使用自下而上的聚类方法。

答案 1 :(得分:0)

获取CLARA的源代码。

修改它,然后添加Gower距离。

由于Gower使用一些与数据相关的归一化因子(并且您无法预先计算距离矩阵),因此您需要将其直接集成到CLARA中。

运行修改后的CLARA。

将您的源代码公开作为开源提供,以便其他人不必这样做。它还可以在将来更容易扩展CLARA以及更远距离的功能。