machine-learning - K-均值 : Only two optimal clusters

标签 machine-learning statistics cluster-analysis modeling

我正在 R 中运行 k-means 算法,并尝试找到最佳簇数 k。使用轮廓法、间隙统计量和肘部法,我确定最佳簇数为 2。虽然业务没有预定义簇,但我担心 k=2 不太有洞察力,这会导致我有几个问题。

1) 就数据的自然聚类而言,最佳 k = 2 意味着什么?这是否表明可能没有明确的聚类,或者没有哪个聚类比任何聚类更好?

2) 当 k = 2 时,R 方较低 (.1)。当 k = 5 时,R 平方要好得多 (.32)。知道 k = 5 不是最优的情况下,选择 k = 5 的确切权衡是什么?是否可以增加簇,但它们可能不够明显?

3)我的n=1000,我有100个变量可供选择,但只从领域知识中选择了5个。增加变量数量一定会使聚类效果更好吗?

4) 作为问题 3 的后续,如果引入一个变量并降低 R 平方,那么该变量意味着什么?

最佳答案

我不是专家,但我会尽力回答:

1) 您的最佳簇数方法给您 k=2,因此这表明存在明显的簇,数量很低 (2)。为了帮助解决此问题,请尝试使用您对该领域的了解来帮助解释,考虑到您的领域,2 个集群是否有意义?

2)是的,你是对的。 R 平方方面的最佳解决方案是拥有与数据点一样多的簇,但是就您执行 k 均值的原因而言,这并不是最佳选择。您执行 k 均值是为了从数据中获取更有洞察力的信息,这是您的主要目标。因此,如果您选择 k=5,您的数据将更好地适合您的 5 个集群,但正如您所说,它们之间可能没有太大区别,因此您无法获得任何见解。

3)不一定,事实上盲目添加可能会让情况变得更糟。 K 均值在欧几里得空间中运行,因此在确定聚类时每个变量都被赋予均匀的权重。如果您添加不相关的变量,它们的值仍然会扭曲 n 维空间,使您的集群变得更糟。

4)(在这里仔细检查我的逻辑,我对这个逻辑不是 100%)如果将一个变量引入到相同数量的簇中并且它会降低 R 平方,那么是的,这是一个需要添加的有用变量,它意味着它与您的其他变量具有相关性。

关于machine-learning - K-均值 : Only two optimal clusters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49139765/

相关文章:

python - 神经网络的多维输入

python - 减少卷积神经网络的内存需求

python - 如果指定输出数量,如何计算 CNN 中的输出维度

R 将行值转置为列

python - 后验概率 python 示例

r - 如何将新数据映射/绘制到训练有素的 SOM map 上?

machine-learning - 构建用于目标检测的神经网络最重要的步骤是什么? (不分类)

arrays - 当尝试在随机数字数组中查找运行最大值时,会调用多少次更新最大值?

cluster-analysis - Weka 简单的 K 均值聚类分配

android - Android 移动应用程序的基于兴趣和位置的算法