问题描述
下面提供的JSON文件是request.json,用于使用Google AutoML表训练分类或回归模型。
{
"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","forecastHorizon": "horizon","timeseriesIdentifier":"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提供了predictions来解决回归或分类问题。
您应该考虑使用BigQuery ML为time series models创建模型语句,可以使用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