【问题标题】:How to fine-tune the number of cluster in k-means clustering and incremental way of building the model using BigQuery ML如何微调 k-means 聚类中的聚类数量以及使用 BigQuery ML 构建模型的增量方式
【发布时间】:2020-06-09 05:43:48
【问题描述】:

使用 K-means 聚类模型通过 BigQuery ML 检测异常。

数据集信息

date Date
trade_id INT
trade_name STRING
agent_id INT
agent_name String
total_item INT

映射 - 一个交易有多个基于日期的代理。
sum(total_iteam) 使用以下信息训练的模型

trade_id 
trade_name
agent_id
agent_name 
Number of cluster: 4

需要根据日期查找每个交易和代理的异常情况。 使用给定的数据集训练模型并计算 distance_from_closest_centroid。每个交易和代理都基于日期距离被调用。最右距离被视为异常。使用这些信息

问题 1.如何找到模型需要使用的簇数(例如:用于选择最小簇数选择的肘法)。

问题 2. 每天新增交易数据时如何建立模型。可以每天构建模型的增量方式。

【问题讨论】:

  • 根据文档,如果您使用 K-means 省略 num_clusters,BigQuery ML 将根据训练数据中的行数选择一个合理的数量。此外,您还可以使用超参数调整来确定最佳集群数量。因此,您必须针对num_clusters 的不同值运行CREATE MODEL 查询,找到误差度量并选择误差最小的点link
  • 另外,请注意num_clusters 从 2 变为 100。这两个信息对您有帮助吗?
  • @AlexandreMoraes 感谢您提供信息。这真的很有帮助。
  • 您介意我总结一下我分享的信息作为答案吗?因此,它将为社区做出更多贡献。
  • @AlexandreMoraes 嗨。我对构建模型有疑问(构建模型的增量方式)。我已经编辑了我的问题,请看-谢谢

标签: machine-learning google-bigquery


【解决方案1】:

随着问题的更新,我将总结我们的讨论作为答案,以进一步为社区做出贡献。

  1. 关于你的第一个问题 “如何找到模型需要使用的簇数(例如:用于选择最小簇数选择的肘部方法)。”

根据documentation,如果您省略num_clusters 选项,BigQuery ML 将根据训练数据中的总行数选择一个合理的默认值。但是,如果您想选择最佳数字,您可以执行超参数调整,这是为学习算法选择一个(或一组)最佳超参数的过程,在您的情况下是 BigQuery ML 中的 K-means。为了确定理想的集群数量,您将运行CREATE MODEL 查询num_clusters 的不同值。然后,找到误差度量并选择它处于最小值的点。您可以在训练选项卡 Evaluation 中选择误差度量,它将显示 Davies–Bouldin 指数均方距离

  1. 您的第二个问题是“如何在每天添加交易数据的情况下构建模型。可以构建每天构建模型的增量方式。”

K-means 是一种无监督学习算法。因此,您将使用当前数据训练您的模型。然后将其存储在数据集中。该模型已经过训练,当然可以使用ML.PREDICT 处理新数据。因此它将使用模型来预测新数据属于哪些集群。

作为奖励信息,我想分享此 link 文档,该文档解释了如何使用 BigQuery ML 中的 K-means 来检测数据异常。

更新:

关于重新训练模型的问题:

问题:“我想重建模型,因为必须在我现有的模型中更新新的交易信息。在这种情况下,是否可以在模型中附加只有两个月的数据还是我们需要重建整个模型?”

答案:如果有新的相关数据到来,您将不得不重新训练整个模型。不可能只用两个月的新数据附加模型。尽管如此,我必须提到你可以并且应该使用warm_start 来重新训练你已经存在的模型here

【讨论】:

    【解决方案2】:

    根据@Alexandre Moraes 使用 K-means 省略 num_clusters,BigQuery ML 将根据训练数据中的行数选择一个合理的数量。此外,您还可以使用超参数调整来确定最佳集群数量。因此,您必须针对 num_clusters 的不同值运行 CREATE MODEL 查询,找到误差度量并选择误差最小的点 link。 ——

    【讨论】:

      猜你喜欢
      • 2021-10-11
      • 2017-01-25
      • 2014-12-19
      • 2013-04-28
      • 2019-04-06
      • 2015-04-11
      • 2018-08-10
      • 2017-10-02
      相关资源
      最近更新 更多