首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何微调k-均值聚类中的簇数及用BigQuery ML建立模型的增量方法

如何微调k-均值聚类中的簇数及用BigQuery ML建立模型的增量方法
EN

Stack Overflow用户
提问于 2020-06-09 05:43:48
回答 2查看 769关注 0票数 3

使用K-均值聚类模型进行BigQuery ML异常检测.

数据集信息

代码语言:javascript
复制
date Date
trade_id INT
trade_name STRING
agent_id INT
agent_name String
total_item INT

映射- One交易基于日期有多个代理。

sum(total_iteam)对下列信息进行训练的模型

代码语言:javascript
复制
trade_id 
trade_name
agent_id
agent_name 
代码语言:javascript
复制
Number of cluster: 4

需要根据日期发现每笔交易和代理的异常情况。利用给定的数据集对模型进行训练,并计算distance_from_closest_centroid。对于每个交易和基于日期距离的代理被调用。最右距离被认为是一种异常。使用这些信息

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

问题2.如何在每日增加交易数据的情况下建立模型。它可以在日常的基础上建立模型的增量式方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-11 09:08:42

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

  1. 关于您的第一个问题,selection).".“如何找到模型需要使用的集群数(例如:选择最小集群数的肘形方法)”

根据文档,如果省略num_clusters选项,BigQuery ML将根据培训数据中的行总数选择一个合理的缺省值。但是,如果您想选择最优的数目,您可以执行超参数调优,这是为学习算法选择一个(或一组)最优超参数的过程,在您的例子中,K-在BigQuery ML中是指。为了确定理想的集群数量,您可以对不同的CREATE MODEL值运行num_clusters查询。然后,找出误差测度,并选择它在最小值的点。您可以在训练选项卡中选择误差度量,它将显示Davies指数均方距离

  1. 您的第二个问题是“如何在每天添加贸易数据时构建模型,它可以构建基于每日的模型的增量方式”

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

作为一个额外的信息,我想分享这个https://cloud.google.com/blog/products/data-analytics/how-to-use-bigquery-ml-for-anomaly-detection文档,它解释了在BigQuery ML中K-的意思如何被用来检测数据异常。

更新:

关于你关于再培训模式的问题:

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

回答:,如果新的相关数据到达,您将不得不重新培训整个模型。不可能仅仅用两个月的新数据来附加这个模型。不过,我必须指出,您可以而且应该使用warm_start来重新培训您已经存在的模型这里

票数 2
EN

Stack Overflow用户

发布于 2020-06-09 15:27:47

正如@Alexandre使用K-means省略num_clusters一样,BigQuery ML将根据训练数据中的行数选择一个合理的数量。此外,还可以使用超参数调优来确定最佳群集数。因此,您必须对num_clusters的不同值运行CREATE,查找错误度量,并选择错误最小的点,链接。-

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62275807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档