【问题标题】:Is there any way to use curl commands to train a time series Google AutoML Tables model?有没有办法使用 curl 命令来训练时间序列 Google AutoML Tables 模型?
【发布时间】:2020-12-19 07:39:03
【问题描述】:

下面给出的 JSON 文件是用于使用 Google AutoML 表训练分类或回归模型的 request.json。

{
  "datasetId": "dataset-id",
  "displayName": "model-display-name",
  "tablesModelMetadata": {
    "trainBudgetMilliNodeHours": "train-budget-milli-node-hours",
    "optimizationObjective": "optimization-objective",
    "targetColumnSpec": {
      "name": "projects/project-id/locations/location/datasets/dataset-id/tableSpecs/table-id/columnSpecs/target-column-id"
    }
  },
}

我需要通过在 json 文件中提供“时间序列标识符”列和“预测地平线”来使用 curl 命令训练时间序列模型。所以我理想的请求文件是

{
  "datasetId": "dataset-id",
  "displayName": "model-display-name",
  "tablesModelMetadata": {
    "trainBudgetMilliNodeHours": "train-budget-milli-node-hours",
    "optimizationObjective": "optimization-objective",
    "forecastHorizon": "horizon",
    "timeseriesIdentifier":"column-id",
    "targetColumnSpec": {
      "name": "projects/project-id/locations/location/datasets/dataset-id/tableSpecs/table-id/columnSpecs/target-column-id"
    }
  },
}

这样我就可以使用命令传递上面给出的request.json文件了

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://endpoint/v1beta1/projects/project-id/locations/location/models/

有什么办法吗?

【问题讨论】:

    标签: curl google-cloud-platform time-series google-cloud-automl


    【解决方案1】:

    目前,Cloud Auto ML Tables 为回归或分类问题提供 predictions

    您应该考虑使用 BigQuery ML 为 time series models 创建模型语句,您可以使用 REST API 在 curl 命令中传递参数“timeSeriesIdColumn”和“horizo​​n”。

    JSON 表示

    {
      "trainingOptions": {
        {
         "maxIterations": string,
         "lossType": enum (LossType),
         "learnRate": number,
         "l1Regularization": number,
         "l2Regularization": number,
         "minRelativeProgress": number,
         "warmStart": boolean,
         "earlyStop": boolean,
         "inputLabelColumns": [
           string
         ],
         "dataSplitMethod": enum (DataSplitMethod),
         "dataSplitEvalFraction": number,
         "dataSplitColumn": string,
         "learnRateStrategy": enum (LearnRateStrategy),
         "initialLearnRate": number,
         "labelClassWeights": {
           string: number,
           ...
         },
         "userColumn": string,
         "itemColumn": string,
         "distanceType": enum (DistanceType),
         "numClusters": string,
         "modelUri": string,
         "optimizationStrategy": enum (OptimizationStrategy),
         "hiddenUnits": [
           string
         ],
         "batchSize": string,
         "dropout": number,
         "maxTreeDepth": string,
         "subsample": number,
         "minSplitLoss": number,
         "numFactors": string,
         "feedbackType": enum (FeedbackType),
         "walsAlpha": number,
         "kmeansInitializationMethod": enum (KmeansInitializationMethod),
         "kmeansInitializationColumn": string,
         "timeSeriesTimestampColumn": string,
         "timeSeriesDataColumn": string,
         "autoArima": boolean,
         "nonSeasonalOrder": {
           object (ArimaOrder)
         },
         "dataFrequency": enum (DataFrequency),
         "includeDrift": boolean,
         "holidayRegion": enum (HolidayRegion),
         "timeSeriesIdColumn": string,
         "horizon": string,
         "preserveInputStructs": boolean,
         "autoArimaMaxOrder": string
       }
         },
      "startTime": string,
      "results": [
        {
          object (IterationResult)
        }
      ],
      "evaluationMetrics": {
        object (EvaluationMetrics)
      },
      "dataSplitResult": {
        object (DataSplitResult)
      }
    }
    

    卷曲命令:

    curl \
      'https://bigquery.googleapis.com/bigquery/v2/projects/YOUR_PROJECT/model/YOUR_MODEL?key=[YOUR_API_KEY]' \
      --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
      -d @request.json \ \
      --compressed
    

    【讨论】:

      猜你喜欢
      • 2019-05-30
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      • 2019-05-04
      • 2020-06-27
      • 2022-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多