我正在Vertica中测试机器学习工具。我了解KMEANS的工作原理,因为它只是将数据分为几类。但是我不理解APPLY_KMEANS如何处理新数据。
在我看来,它的作用更像是一种分类方法。由于它将现有集群中的新数据分类。那么,使用什么算法(K最近邻居)?从文档中来看不是很清楚。

最佳答案

k-means是一个聚类算法(不是分类!),它分两个步骤进行迭代:


分配步骤:为每个点分配一个质心
更新步骤:更新质心坐标


建立k均值模型时,首先要初始化质心(不同的策略,可以是随机初始化),然后进行迭代直到聚类确定(错误小于给定阈值)为止。

定义模型的实际上是质心。

使用APPLY_KMEANS时,将使用查询中的数据和模型中的质心运行分配步骤。然后,将根据点相对于质心的距离将点分配给簇。

希望能帮助到你
pltrdy



关于聚类与分类的注意事项:
我们很容易认为聚类是一种分类。尽管如此,分类必须仅引用supervised learning,而聚类对应于unsupervised learning。因此,不要这样做:)

08-24 22:04