K-Means距离测量 - 大数据和混合尺度

问题描述 投票:1回答:4

我有一个关于k-means聚类的问题。我们有一个包含120,000个观测值的数据集,需要用R计算k均值聚类解。问题是k均值通常使用欧几里德距离。我们的数据集包含3个连续变量,11个序数(Likert 0-5)(我认为可以像连续一样处理它们)和5个二进制变量。对于我们可以用于“大”数据集的k-means方法的距离测量,您有什么建议吗?我们坚持k-means,所以我真的希望你们中的一个有个好主意。

干杯,

马丁

r cluster-analysis distance k-means similarity
4个回答
0
投票

一种方法是标准化特征,然后只使用11维欧氏距离。将二进制值转换为0/1(嗯,它是R,所以无论如何都是这样)并从那里开始。

除了11维中的k-means肯定难以解释之外,我没有看到这种方法的直接问题。您可以尝试使用降维技术,并希望使k-means输出更容易阅读,但您比我们更了解数据集,因此我们帮助您的能力有限。


0
投票

你当然可以将二进制变量编码为0,1。

统计数据中的最佳实践是不将Likert比例变量视为数字,因为分布不均匀。

但我不会得到有意义的k-means集群。该算法完全与计算方法有关。这对连续变量有意义。离散变量通常缺乏“分辨率”以使其良好运行。然后三个均值降级为“频率”,然后应该以非常不同的方式处理数据。

不要用锤子选择问题。也许你的数据不是钉子;即使你想用kmeans制作它,它也无法解决你的问题......相反,制定你的问题,然后选择合适的工具。那么鉴于你的数据,什么是一个好的集群?在你有一个衡量这一点的等式之前,处理数据不会解决任何问题。


0
投票

将变量编码为二进制不会解决根本问题。相反,它只会有助于增加数据维度,增加负担。统计数据中的最佳做法是不将原始数据更改为任何其他形式,如连续到分类,反之亦然。但是,如果您这样做,即数据转换,那么它必须与要解决的问题同步,并且您必须提供有效的理由。

正如其他人所说的那样,继续进一步尝试首先减少数据集的维度。检查问题,如missing valuesoutlierszero varianceprincipal component analysis (continuous variables)correspondence analysis (for categorical variables)等。这可以帮助您减少维度。毕竟,数据预处理任务构成了80%的分析。

关于混合数据类型的距离测量,您确实理解mean中的k仅适用于continuous变量。所以,我不明白使用logic算法的混合数据类型的k-means?考虑选择其他算法,如k-modes。 k-modes是k-means的扩展。而不是距离,它使用不相似性(即,两个对象之间的总不匹配的量化:这个数字越小,两个对象越相似)。而不是手段,它使用模式。模式是元素的向量,其最小化向量本身与数据的每个对象之间的不相似性。


0
投票

混合模型可用于聚类混合数据。

您可以使用R软件包VarSelLCM,它在每个集群中通过高斯分布和序数/二元变量对连续变量进行建模。

此外,缺失值可以由手头的模型管理。

有关教程,请访问:http://varsellcm.r-forge.r-project.org/

© www.soinside.com 2019 - 2024. All rights reserved.