AutoML Tables를 사용해 모델을 만드는 방법을 보여줍니다.
더 살펴보기
이 코드 샘플이 포함된 자세한 문서는 다음을 참조하세요.
코드 샘플
Java
AutoML Tables에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.automl.v1beta1.AutoMlClient;
import com.google.cloud.automl.v1beta1.ColumnSpec;
import com.google.cloud.automl.v1beta1.ColumnSpecName;
import com.google.cloud.automl.v1beta1.LocationName;
import com.google.cloud.automl.v1beta1.Model;
import com.google.cloud.automl.v1beta1.OperationMetadata;
import com.google.cloud.automl.v1beta1.TablesModelMetadata;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
class TablesCreateModel {
public static void main(String[] args)
throws IOException, ExecutionException, InterruptedException {
// TODO(developer): Replace these variables before running the sample.
String projectId = "YOUR_PROJECT_ID";
String datasetId = "YOUR_DATASET_ID";
String tableSpecId = "YOUR_TABLE_SPEC_ID";
String columnSpecId = "YOUR_COLUMN_SPEC_ID";
String displayName = "YOUR_DATASET_NAME";
createModel(projectId, datasetId, tableSpecId, columnSpecId, displayName);
}
// Create a model
static void createModel(
String projectId,
String datasetId,
String tableSpecId,
String columnSpecId,
String displayName)
throws IOException, ExecutionException, InterruptedException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
try (AutoMlClient client = AutoMlClient.create()) {
// A resource that represents Google Cloud Platform location.
LocationName projectLocation = LocationName.of(projectId, "us-central1");
// Get the complete path of the column.
ColumnSpecName columnSpecName =
ColumnSpecName.of(projectId, "us-central1", datasetId, tableSpecId, columnSpecId);
// Build the get column spec.
ColumnSpec targetColumnSpec =
ColumnSpec.newBuilder().setName(columnSpecName.toString()).build();
// Set model metadata.
TablesModelMetadata metadata =
TablesModelMetadata.newBuilder()
.setTargetColumnSpec(targetColumnSpec)
.setTrainBudgetMilliNodeHours(24000)
.build();
Model model =
Model.newBuilder()
.setDisplayName(displayName)
.setDatasetId(datasetId)
.setTablesModelMetadata(metadata)
.build();
// Create a model with the model metadata in the region.
OperationFuture<Model, OperationMetadata> future =
client.createModelAsync(projectLocation, model);
// OperationFuture.get() will block until the model is created, which may take several hours.
// You can use OperationFuture.getInitialFuture to get a future representing the initial
// response to the request, which contains information while the operation is in progress.
System.out.format("Training operation name: %s%n", future.getInitialFuture().get().getName());
System.out.println("Training started...");
}
}
}
Node.js
AutoML Tables에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
const automl = require('@google-cloud/automl');
const client = new automl.v1beta1.AutoMlClient();
/**
* Demonstrates using the AutoML client to create a model.
* TODO(developer): Uncomment the following lines before running the sample.
*/
// const projectId = '[PROJECT_ID]' e.g., "my-gcloud-project";
// const computeRegion = '[REGION_NAME]' e.g., "us-central1";
// const datasetId = '[DATASET_ID]' e.g., "TBL2246891593778855936";
// const tableId = '[TABLE_ID]' e.g., "1991013247762825216";
// const columnId = '[COLUMN_ID]' e.g., "773141392279994368";
// const modelName = '[MODEL_NAME]' e.g., "testModel";
// const trainBudget = '[TRAIN_BUDGET]' e.g., "1000",
// `Train budget in milli node hours`;
// A resource that represents Google Cloud Platform location.
const projectLocation = client.locationPath(projectId, computeRegion);
// Get the full path of the column.
const columnSpecId = client.columnSpecPath(
projectId,
computeRegion,
datasetId,
tableId,
columnId
);
// Set target column to train the model.
const targetColumnSpec = {name: columnSpecId};
// Set tables model metadata.
const tablesModelMetadata = {
targetColumnSpec: targetColumnSpec,
trainBudgetMilliNodeHours: trainBudget,
};
// Set datasetId, model name and model metadata for the dataset.
const myModel = {
datasetId: datasetId,
displayName: modelName,
tablesModelMetadata: tablesModelMetadata,
};
// Create a model with the model metadata in the region.
client
.createModel({parent: projectLocation, model: myModel})
.then(responses => {
const initialApiResponse = responses[1];
console.log(`Training operation name: ${initialApiResponse.name}`);
console.log('Training started...');
})
.catch(err => {
console.error(err);
});
Python
AutoML Tables에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
# TODO(developer): Uncomment and set the following variables
# project_id = 'PROJECT_ID_HERE'
# compute_region = 'COMPUTE_REGION_HERE'
# dataset_display_name = 'DATASET_DISPLAY_NAME_HERE'
# model_display_name = 'MODEL_DISPLAY_NAME_HERE'
# train_budget_milli_node_hours = 'TRAIN_BUDGET_MILLI_NODE_HOURS_HERE'
# include_column_spec_names = 'INCLUDE_COLUMN_SPEC_NAMES_HERE'
# or None if unspecified
# exclude_column_spec_names = 'EXCLUDE_COLUMN_SPEC_NAMES_HERE'
# or None if unspecified
from google.cloud import automl_v1beta1 as automl
client = automl.TablesClient(project=project_id, region=compute_region)
# Create a model with the model metadata in the region.
response = client.create_model(
model_display_name,
train_budget_milli_node_hours=train_budget_milli_node_hours,
dataset_display_name=dataset_display_name,
include_column_spec_names=include_column_spec_names,
exclude_column_spec_names=exclude_column_spec_names,
)
print("Training model...")
print(f"Training operation name: {response.operation.name}")
print(f"Training completed: {response.result()}")
다음 단계
다른 Google Cloud 제품의 코드 샘플을 검색하고 필터링하려면 Google Cloud 샘플 브라우저를 참조하세요.