如何对 Python 中包含 TRUE/FALSE 值的数据集执行聚类?

How to perform clustering on a dataset containing TRUE/FALSE values in Python?

我的数据集包含描述某些角色能力的列,其中填充了 True/False 个值。没有空值。我的最终目标是制作具有相似能力的角色组。这是问题:

  1. 我应该将 True/False 值更改为 10 吗?或者不需要那个?
  2. 我应该使用什么聚类模型? KMeans 可以吗?
  3. 我如何解释结果(输出)?我可以想象吗?

问题是我总是看到人们对您可以可视化的数字数据集执行聚类,而且看起来更容易做到。使用 True/False 我什至不知道如何处理它。

谢谢。

  1. 一般不需要将True/False改成0/1。仅当您想应用无法处理布尔输入的特定聚类算法时才需要这样做,例如 K-means.
  2. K-means 不是首选选项。 K-means 需要连续特征作为输入,因为它是基于计算距离的,就像许多聚类算法一样。所以没有布尔输入。尽管二进制输入 (0-1) 有效,但它不会以非常有意义的方式计算距离(许多点彼此之间的距离相同)。如果只有 0-1 数据,我不会使用聚类,但会建议将数据制表并查看哪些单元格经常出现。如果您有大型数据集,您可以使用 Apriori 算法来查找频繁出现的单元格。
  3. 通常,聚类算法通常 returns 每个观察的聚类编号。在 low-dimensions 中,此数字经常用于为散点图中的观察值赋予颜色。但是,对于布尔值,我只会列出最常出现的单元格。