如何在 Python 中对包含 TRUE/FALSE 值的数据集执行聚类?
Posted
技术标签:
【中文标题】如何在 Python 中对包含 TRUE/FALSE 值的数据集执行聚类?【英文标题】:How to perform clustering on a dataset containing TRUE/FALSE values in Python? 【发布时间】:2021-01-12 13:23:21 【问题描述】:我的数据集包含描述某些角色能力的列,其中填充了True/False
值。没有空值。我的最终目标是制作具有相似能力的角色组。问题来了:
-
我应该将
True/False
值更改为1
和0
吗?还是没有必要?
我应该使用什么聚类模型? KMeans 可以吗?
如何解释结果(输出)?我可以想象一下吗?
问题是我总是看到人们在数字数据集上执行聚类,你可以将其可视化,而且看起来更容易做到。对于True/False
,我什至不知道如何处理它。
谢谢。
【问题讨论】:
【参考方案1】:-
一般情况下无需将 True/False 更改为 0/1。仅当您想应用无法处理布尔输入的特定聚类算法(如 K-means)时,才需要这样做。
K-means 不是首选选项。 K-means 需要连续特征作为输入,因为它基于计算距离,就像许多聚类算法一样。所以没有布尔输入。尽管二进制输入 (0-1) 有效,但它并不能以非常有意义的方式计算距离(许多点之间的距离相同)。如果只有 0-1 数据,我不会使用聚类,但建议将数据制成表格并查看哪些单元格经常出现。如果您有一个大型数据集,您可能会使用 Apriori 算法来查找频繁出现的单元格。
通常,聚类算法通常会为每个观测返回一个聚类编号。在低维中,此数字经常用于为散点图中的观察值赋予颜色。但是,在您使用布尔值的情况下,我只会列出最常出现的单元格。
【讨论】:
以上是关于如何在 Python 中对包含 TRUE/FALSE 值的数据集执行聚类?的主要内容,如果未能解决你的问题,请参考以下文章