与在 BigQuery ML 中使用 ML.Evaluate 进行评估相比,创建模型后的评估结果有啥区别?
Posted
技术标签:
【中文标题】与在 BigQuery ML 中使用 ML.Evaluate 进行评估相比,创建模型后的评估结果有啥区别?【英文标题】:What is the difference between Evaluation result after creating a model, compared to evaluation using ML.Evaluate in BigQuery ML?与在 BigQuery ML 中使用 ML.Evaluate 进行评估相比,创建模型后的评估结果有什么区别? 【发布时间】:2020-02-24 02:12:03 【问题描述】:我正在尝试使用 BigQuery ML 训练模型,但对功能有点困惑。
当我使用 CREATE MODEL 函数创建模型时,它允许我将数据拆分为训练和评估。假设我使用 AUTO_SPLIT 并且我的行在 500 到 50,000 之间,根据文档,20% 的数据用作 RANDOM 拆分中的评估。我可以假设剩下的 80% 将用于训练吗?
所以在某种程度上,通过使用这个 CREATE MODEL 函数,我基本上是在同时进行训练和评估。这种理解正确吗?如果是,那么 ML.Evaluate 函数的目的是什么?
【问题讨论】:
【参考方案1】:CREATE MODEL 语句在指定数据集中训练一个新模型。它的一个选项是设置一个 DATA_SPLIT_METHOD,它根据拆分方法将输入数据拆分为两个不同的集合(training 和 evaluation)。评估数据用于通过提前停止避免overfitting,不会用于训练模型。评估集通常称为validation 集。
另一方面,ML.EVALUATE 函数用于使用适用于所提供模型类型的通用指标来评估模型指标。它用于量化模型的性能。
【讨论】:
【参考方案2】:ML.EVALUATE 可用于针对模型训练时不可用的新数据测试模型。
如果您只使用模型调用 ML.EVALUATE 而没有要评估的数据表,它将返回训练期间计算的评估。
【讨论】:
以上是关于与在 BigQuery ML 中使用 ML.Evaluate 进行评估相比,创建模型后的评估结果有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
国产开源项目也能用SQL解决机器学习问题!与谷歌BigQuery ML有何不同?
将 Biquery 查询格式化为 ML 适当的 JSON 以通过 ML Predict