我一直在尝试使用NBClust库执行集群。我的数据集包含分类变量和数值变量,而我有一个热编码的分类变量。通过这种方法获得的结果是有意义的,但是我被告知,如果set包含分类变量,则应使用K模式而不是NBClust。谁能告诉我为什么要包含分类变量,然后在其中选择最合适的迭代次数,这会更好吗?
K-modes更适合分类数据,因为它选择了mode。
使用一键编码,您的问题是所得的矢量不再与实际类别相对应。您将获得无法很好地解释为类别的向量(0.3,0.3,0.1,0.3),可以吗?那么这些算法在做什么呢?他们在优化什么?
一次性编码数据是一个丑陋的技巧,而不是解决方案。