APPLY_KMEANS 如何在 Vertica 中工作

How does APPLY_KMEANS work in Vertica

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

k-means 是一个 聚类 算法(不是分类!)迭代 2 个步骤:

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

当你构建你的 k-means 模型时,你首先初始化质心(不同的策略,可以是随机初始化),然后你迭代直到你的聚类正常(你的错误低于给定的阈值)。

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

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

希望对您有所帮助 pltrdy


关于聚类与分类的注意事项:
我们可能会认为聚类是一种分类。尽管如此,分类必须仅参考 supervised learning while clustering corresponds to unsupervised learning。因此,不要这样做 :)