Automl SDK 代码具有来自 bigquery 的文件位置,但在预测时出现问题

Posted

技术标签:

【中文标题】Automl SDK 代码具有来自 bigquery 的文件位置,但在预测时出现问题【英文标题】:Automl SDK code with file location from bigquery but having issue while predicting 【发布时间】:2021-10-09 12:59:30 【问题描述】:

我正在使用 AI Platform 中的 GCP automl sdk 模块创建模型(使用 bigquery 表作为训练和预测的输入)并使用 batch_prediction 进行预测。问题是代码运行良好,但预测的输出表为空,错误表包含来自预测数据帧和附加列的所有系列,说明错误代码 3,错误是“时间序列没有要预测的值。时间序列已经从预测中排除。”。

我用于模型训练的代码:

job = aiplatform.AutoMLForecastingTrainingJob(
    display_name='train-sdk-automl_tst1',
    optimization_objective='minimize-mae',    
    column_transformations=[
        "timestamp": "column_name": "Date",
        "numeric": "column_name": "Price",
        "numeric": "column_name": "Grammage",
        "numeric": "column_name": "apparentTemperatureMax",
        "numeric": "column_name": "apparentTemperatureMin",
        "numeric": "column_name": "Consumer_promo",
        "numeric": "column_name": "Promo_Value",
        "numeric": "column_name": "Trade_Promotion",
        "numeric": "column_name": "Holiday",
        "numeric": "column_name": "Sales",
    ]
)

# This will take around an hour to run
my_model = job.run(
    dataset=ds,
    target_column='Sales',
    time_column='Date',
    time_series_identifier_column='SKU',
    available_at_forecast_columns=['Date', 'Price','Grammage'
                                   ,'apparentTemperatureMax','apparentTemperatureMin','Consumer_promo',
                                   "Promo_Value","Trade_Promotion","Holiday"],
    unavailable_at_forecast_columns=['Sales'],
    forecast_horizon=21.0,
    data_granularity_unit='week',
    data_granularity_count=1,
    weight_column=None,
    budget_milli_node_hours=1000,
    model_display_name='sdk_tsting_bq-forecast-model', 
    predefined_split_column_name=None
)

预测代码:

BATCH_PREDICT_SOURCE = 'bq://acn-intelligent-supply-chain.scoa_ml_forecast_tool.test_data_sdk1'
BATCH_PREDICT_DESTINATION_PREFIX = 'bq://acn-intelligent-supply-chain.scoa_ml_forecast_tool' 
my_model.batch_predict(
   bigquery_source=BATCH_PREDICT_SOURCE,
   instances_format='bigquery',
   bigquery_destination_prefix = BATCH_PREDICT_DESTINATION_PREFIX,
   predictions_format='bigquery',
   job_display_name='predict_sdk_tst')

请提出这里可能出现的问题。

【问题讨论】:

【参考方案1】:

我认为用于批量预测的 BQ 表需要在目标(例如“销售”)列中具有 NULL 值。如果您还没有这样做,请尝试一下,看看是否有帮助。

【讨论】:

以上是关于Automl SDK 代码具有来自 bigquery 的文件位置,但在预测时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用来自 Google AutoML 视觉分类的 TensorFlow Frozen GraphDef (single saved_model.pb) 进行推理和迁移学习

BigQuery 视图可以引用来自不同数据集/项目的其他表和视图吗?

使用具有身份验证的 URL 设置图像-IOS SDK

多次训练同一个 Google AutoML 模型

AutoML VISION Google SingleLabel 分类输出 TopK 结果

7次KDD Cup&Kaggle冠军的经验分享:从多领域优化到AutoML框架