在没有簇数或阈值的python中进行聚类

时间:2018-03-27 04:15:55

标签: python cluster-analysis

是否可以在不提供除数据之外的任何输入的情况下进行群集?聚类方法/算法应该根据数据来决定数据可以划分多少个逻辑组,即使它不需要我输入构建聚类的阈值eucledian距离,这也需要从数据中学习

你能否告诉我什么是最接近我问题的解决方案?

2 个答案:

答案 0 :(得分:1)

为什么不对您的算法进行编码以创建从大小1到n的群集列表(可以在配置文件中定义,以便您可以避免硬编码并只修复一次)。

完成后,计算大小为1到n的簇。选择给出最小均方误差的值。

这需要您的机器进行一些额外的工作来确定数据可以划分的最佳逻辑组数量(在1和n之间)。

答案 1 :(得分:1)

聚类是一种探索性技术。

这意味着必须始终能够根据用户的需要产生不同的结果。 拥有许多参数是一项功能。这意味着该方法可以轻松适应非常不同的数据和用户偏好。

永远不会有一个通用的无参数技术。充其量,一些参数将具有默认值或启发式(例如欧几里德距离,例如在聚类之前标准化输入,例如用于选择k的间隙统计量),这可以在80中提供合理的首次尝试百分比的案例。但在第一次尝试之后,您需要了解数据,并尝试使用其他参数来了解有关数据的更多信息。

声称为“无参数”的方法通常只设置一些隐藏参数,因此它适用于所演示的少数玩具示例。