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。因此,不要这样做 :)
我正在测试 Vertica 中的机器学习工具。我了解 KMEANS
是如何工作的,因为它只是将数据分成簇。但是我不明白 APPLY_KMEANS
如何处理新数据。
在我看来,它更像是一种分类方法。因为它对现有集群中的新数据进行分类。那么用什么算法(K近邻)呢?从文档看不是很清楚。
k-means 是一个 聚类 算法(不是分类!)迭代 2 个步骤:
- 分配步骤:为每个点分配一个质心
- 更新步骤:更新质心坐标
当你构建你的 k-means 模型时,你首先初始化质心(不同的策略,可以是随机初始化),然后你迭代直到你的聚类正常(你的错误低于给定的阈值)。
定义模型的实际上是质心。
使用 APPLY_KMEANS
时,您将 运行 使用查询中的数据和模型中的质心进行分配步骤。然后将根据点与质心的距离将点分配给簇。
希望对您有所帮助
pltrdy
关于聚类与分类的注意事项:
我们可能会认为聚类是一种分类。尽管如此,分类必须仅参考 supervised learning while clustering corresponds to unsupervised learning。因此,不要这样做 :)