in ai-platform/snippets/create-training-pipeline-tabular-regression.js [53:128]
async function createTrainingPipelineTablesRegression() {
// Configure the parent resource
const parent = `projects/${project}/locations/${location}`;
const transformations = [
{auto: {column_name: 'STRING_5000unique_NULLABLE'}},
{auto: {column_name: 'INTEGER_5000unique_NULLABLE'}},
{auto: {column_name: 'FLOAT_5000unique_NULLABLE'}},
{auto: {column_name: 'FLOAT_5000unique_REPEATED'}},
{auto: {column_name: 'NUMERIC_5000unique_NULLABLE'}},
{auto: {column_name: 'BOOLEAN_2unique_NULLABLE'}},
{
timestamp: {
column_name: 'TIMESTAMP_1unique_NULLABLE',
invalid_values_allowed: true,
},
},
{auto: {column_name: 'DATE_1unique_NULLABLE'}},
{auto: {column_name: 'TIME_1unique_NULLABLE'}},
{
timestamp: {
column_name: 'DATETIME_1unique_NULLABLE',
invalid_values_allowed: true,
},
},
{auto: {column_name: 'STRUCT_NULLABLE.STRING_5000unique_NULLABLE'}},
{auto: {column_name: 'STRUCT_NULLABLE.INTEGER_5000unique_NULLABLE'}},
{auto: {column_name: 'STRUCT_NULLABLE.FLOAT_5000unique_NULLABLE'}},
{auto: {column_name: 'STRUCT_NULLABLE.FLOAT_5000unique_REQUIRED'}},
{auto: {column_name: 'STRUCT_NULLABLE.FLOAT_5000unique_REPEATED'}},
{auto: {column_name: 'STRUCT_NULLABLE.NUMERIC_5000unique_NULLABLE'}},
{auto: {column_name: 'STRUCT_NULLABLE.BOOLEAN_2unique_NULLABLE'}},
{auto: {column_name: 'STRUCT_NULLABLE.TIMESTAMP_1unique_NULLABLE'}},
];
const trainingTaskInputsObj = new definition.AutoMlTablesInputs({
transformations,
targetColumn,
predictionType: 'regression',
trainBudgetMilliNodeHours: 8000,
disableEarlyStopping: false,
optimizationObjective: 'minimize-rmse',
});
const trainingTaskInputs = trainingTaskInputsObj.toValue();
const modelToUpload = {displayName: modelDisplayName};
const inputDataConfig = {
datasetId: datasetId,
fractionSplit: {
trainingFraction: 0.8,
validationFraction: 0.1,
testFraction: 0.1,
},
};
const trainingPipeline = {
displayName: trainingPipelineDisplayName,
trainingTaskDefinition:
'gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_tables_1.0.0.yaml',
trainingTaskInputs,
inputDataConfig,
modelToUpload,
};
const request = {
parent,
trainingPipeline,
};
// Create training pipeline request
const [response] =
await pipelineServiceClient.createTrainingPipeline(request);
console.log('Create training pipeline tabular regression response');
console.log(`Name : ${response.name}`);
console.log('Raw response:');
console.log(JSON.stringify(response, null, 2));
}