使用 R 对混合类型数据进行聚类

机器算法验证 r 聚类 混合类型数据
2022-02-11 10:26:57

我想知道是否可以在 R 中执行具有混合数据变量的数据聚类。换句话说,我有一个包含数值和分类变量的数据集,我正在寻找对它们进行聚类的最佳方法。在 SPSS 中,我将使用两步集群。我想知道在 R 中是否可以找到类似的技术。有人告诉我 poLCA 包,但我不确定...

4个回答

这可能来晚了,但试试 klaR ( http://cran.r-project.org/web/packages/klaR/index.html )

install.packages("klar")

它使用非分层 k-modes 算法,该算法基于简单匹配作为距离函数,因此两个数据点的变量m之间的距离 δ由下式给出xy

δ(xm,ym)={1xmym,0otherwise

该软件包有一个缺陷,即如果两个数据点与集群中心的距离相同,则选择数据中的第一个而不是随机点,但您可以轻松地修改代码中的位。

为了适应混合变量聚类,您需要进入代码并修改距离函数以识别数字和非数字模式和变量。

处理混合类型变量的另一种吸引人的方法是使用随机森林中的近似/相似矩阵:http: //cogns.northwestern.edu/cbmg/LiawAndWiener2002.pdf这有助于以统一的方式平等对待所有变量(尽管如此,请注意变量选择偏差问题)。另一方面,对于混合类型的变量,确实没有定义距离的黄金通用方法。这完全取决于应用程序上下文。

您可以使用多重对应分析从分类变量创建连续维度,然后在第二步中将它们与数值变量一起使用。

好吧,你当然可以。通过使分类变量人为地数值化。或者使用基于距离矩阵的聚类(fpc 可以做到这一点)。您应该首先尝试回答的问题是:它真的有意义吗?