为什么 bigQueryML 的转换子句不支持 ML.NGRAM?

问题描述 投票:0回答:1

我使用以下查询来创建模型,但编辑器抱怨转换子句中不支持 ML.NGRAM。

CREATE OR REPLACE MODEL
`singular-hub-291814.movie_sentiment.mymodel3`
TRANSFORM(ML.NGRAM(string_field_0,[1,2])OVER() as ngram )
OPTIONS
  ( model_type='LOGISTIC_REG',
    auto_class_weights=TRUE,
    data_split_method='RANDOM',
    DATA_SPLIT_EVAL_FRACTION = .10,
    input_label_cols=['review']
  ) AS

SELECT 
  string_field_0 , review from table;

即使可以在 SELECT 查询中使用相同的转换。

SELECT 
  ML.NGRAMS(words_array, [1,2]) as ngrams, 
  review
from table;

而其他转换函数(如 bag_of_words、min_abs_scalar)可以在转换中使用。为什么这种行为会如此不同?是否有不能在 TRANSFORM 子句中使用的转换器的明确列表?

machine-learning google-bigquery bigdata
1个回答
0
投票

我已复制您的询问。代码似乎缺少“S”,它应该是

ML.NGRAMS
而不是
ML.NGRAM

CREATE OR REPLACE MODEL
`singular-hub-291814.movie_sentiment.mymodel3`
TRANSFORM(ML.NGRAMS(string_field_0,[1,2])OVER() as ngram )
OPTIONS
  ( model_type='LOGISTIC_REG',
    auto_class_weights=TRUE,
    data_split_method='RANDOM',
    DATA_SPLIT_EVAL_FRACTION = .10,
    input_label_cols=['review']
  ) AS

SELECT 
  string_field_0 , review from table;

在文本函数中添加S后,错误被替换为缺少表名。(因为我没有任何表atm)

© www.soinside.com 2019 - 2024. All rights reserved.