curl - 有没有办法使用 curl 命令来训练时间序列 Google AutoML Tables 模型?
问题描述
下面给出的 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/
有没有办法做到这一点?
解决方案
目前,Cloud Auto ML Tables 提供回归或分类问题的预测。
您应该考虑使用 BigQuery ML 为时间序列模型创建模型语句,您可以使用REST API在 curl 命令中传递参数“timeSeriesIdColumn”和“horizon”。
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
推荐阅读
- mysql - MySQL路由器如何设置windows服务名
- powershell - 如何递归搜索特定文件,创建文件夹并将文件移动到其中?
- typescript - 角度拖放事件不起作用 `drop` 事件未触发
- c++ - C++ LDAP检查用户是否是特定组的成员
- c# - 将.net core 应用程序发布到 iis 后操作超时?
- javascript - 如何使用 Node.JS 编辑当前以上的控制台行?
- java - GSON 序列化因自定义对象而失败
- .net - Ef Core 3.1 值转换器
- node.js - 在构建 React.js 上设置环境变量
- dialogflow-es - 无法让丰富的按钮在对话流上工作。它返回空响应