1

我正在使用 mahout 0.8,在对数据进行聚类后,我使用此命令查看结果:

mahout clusterdump --seqFileDir clusters/clusters-77/ --pointsDir clusters/clusteredPoints/

我还想了解为什么行聚集在同一个集群中。我认为,要了解这一点,我可以编写代码来查找集群中哪些特征/维度相似。

不写代码,我能找到为什么行聚集在同一个集群中吗?

简而言之:我想了解集群的特征。

4

1 回答 1

2

许多聚类算法不会提供解释。即使他们这样做了,答案也可能只是“因为集群中心 X 是最近的”。特别是 k-means 是一种数值优化方法,可以写成搜索特定数学方程的(局部)最小值。所以本质上,答案是因为这个集群分配最小化了给定的方程

在某种程度上,这是问题所固有的:聚类是一种无监督技术,通常基于诸如最小化方程或计算图子集等概念(例如,在基于密度的聚类中,DBSCAN 可以被视为寻找密度连接的子图)

现在当谈到“大数据”时,解释就没什么意义了。如果你只有几十个点,解释是好的。如果你有数十亿,谁会看这些解释(如果它们存在的话)?在 Mahout 等系统中,通常甚至不计算精确解,而是计算近似值。如果您需要尽可能快并愿意放弃精度,那么您可能也愿意放弃解释。

如果您想了解有关集群的更多信息,您可以

  • 用你自己的方法检查它们的聚类后
  • 使用更小的数据量和更复杂的算法来提供解释

如果您的数据集小到可以在单个系统上处理,我一开始就不会使用 Mahout。仅对非常庞大的数据集才有意义。所有 Hadoop 的东西确实会花费一些您在单台计算机设置中不需要的开销。

于 2012-08-28T06:18:56.140 回答