모델 학습

이 페이지에서는 AutoML Tables를 사용해 데이터 세트를 기반으로 커스텀 모델을 학습시키는 방법을 설명합니다. 이미 데이터세트를 만들고 이 데이터세트에 가져온 데이터가 있어야 합니다.

소개

준비된 데이터세트로 커스텀 모델을 학습시켜 커스텀 모델을 생성합니다. AutoML Tables는 데이터세트의 항목을 이용해 모델을 학습시키고, 테스트하고, 모델의 성능을 평가합니다. 결과를 검토하고 필요하면 학습 데이터세트를 조정하며 향상된 데이터세트를 사용하여 새 모델을 학습시킵니다.

모델 학습 준비 과정의 일부로 데이터세트의 스키마 정보를 업데이트합니다. 스키마를 업데이트하면 해당 데이터세트를 사용하는 이후의 모델도 영향을 받습니다. 학습을 이미 시작한 모델은 영향을 받지 않습니다.

모델 학습이 완료되기까지 몇 시간 정도 걸릴 수 있습니다. Google Cloud Console에서 또는 Cloud AutoML API를 사용하여 학습 진행 상태를 확인할 수 있습니다.

학습을 시작할 때마다 AutoML Tables가 새 모델을 생성하므로 프로젝트에 수많은 모델이 포함될 수 있습니다. 프로젝트의 모델 목록을 가져와 필요 없는 모델은 삭제해도 됩니다.

예측을 계속 제공하려면 6개월마다 모델을 다시 학습시켜야 합니다.

모델 학습시키기

Console

  1. 필요한 경우 데이터세트 페이지를 열고 사용할 데이터세트를 클릭합니다.

    그러면 학습 탭에 데이터세트가 열립니다.

    AutoML Tables 스키마 페이지

  2. 모델의 타겟 열을 선택합니다.

    이것은 모델이 예측하도록 학습한 값입니다. 열의 데이터 유형에 따라 결과 모델이 회귀(숫자) 모델인지 분류(범주형) 모델인지가 결정됩니다. 자세히 알아보기

    타겟 열에 범주형의 데이터 유형이 있다면 열에는 고유 값이 2개에서 500개까지 있어야 합니다.

  3. 데이터 세트의 열에 대한 데이터 유형, Null 허용 여부, 데이터 통계를 검토합니다.

    각각의 열을 클릭하면 해당 열에 대한 자세한 내용을 확인할 수 있습니다. 스키마 검토 자세히 알아보기

    AutoML Tables 스키마 페이지

  4. 데이터 분할을 제어하려면 추가 매개변수 수정을 클릭하고 데이터 분할 열 또는 시간 열을 지정합니다. 자세히 알아보기

    AutoML Tables 스키마 페이지

  5. 열의 값을 기준으로 학습 예시에 가중치를 적용하려면 추가 매개변수 수정을 클릭하고 적절한 열을 지정합니다. 자세히 알아보기

  6. 요약 통계와 세부정보를 검토해 데이터 품질이 예상한 수준인지, 그리고 모델을 만들 때 제외해야 하는 열을 식별했는지 확인하세요.

    자세한 내용은 학습 데이터 분석을 참조하세요.

  7. 데이터세트 스키마에 만족하면 화면 상단의 모델 학습을 클릭합니다.

    스키마를 변경하면 AutoML Tables이 요약 통계를 업데이트합니다. 이 작업은 완료하는 데 잠시 시간이 걸릴 수 있습니다. 모델 학습을 시작하기 전에 이 프로세스가 완료될 때가지 기다리지 않아도 됩니다.

    AutoML Tables 스키마 페이지

  8. 학습 예산에 이 모델의 최대 학습 시간을 입력합니다.

    학습 예산은 1~72시간 사이입니다. 이 예산은 요금이 부과되는 학습 시간의 상한을 의미합니다.

    추천 학습 시간은 학습 데이터의 크기와 관련이 있습니다. 아래 표는 행 수에 따른 추천 학습 시간 범위를 보여주며, 열 수가 늘어나면 학습 시간도 길어집니다.

    행 수 추천 학습 시간
    100,000개 미만 1~3시간
    100,000~1,000,000개 1~6시간
    1,000,000~10,000,000개 1~12시간
    10,000,000개 초과 3~24시간

    모델 생성은 학습 외에 다른 작업도 동반하며, 따라서 총 생성 시간은 학습 시간보다 더 깁니다. 예를 들어 학습 시간을 2시간으로 지정해도 모델 배포 준비까지 3시간 이상 걸릴 수 있습니다. 실제 학습 시간에 대해서만 요금이 청구됩니다.

    학습 가격 자세히 알아보기

    AutoML Tables에서 학습 예산이 소진되기 전 모델에 더 이상 개선이 없다고 판단하면 학습을 중단합니다. 예산에서 정한 전체 학습 시간을 사용하려면 고급 옵션을 열고 조기 중단을 사용 중지합니다.

  9. 입력 특성 선택 섹션에서 스키마 분석 단계에서 제외 대상으로 지정한 열을 모두 제외합니다.

  10. 기본 최적화 목표를 사용하지 않으려면 고급 옵션을 열고 모델을 학습시킬 때 AutoML Tables에서 최적화할 측정항목을 선택합니다. 자세히 알아보기

    타겟 열의 데이터 유형에 따라 최적화 목표 선택 옵션이 하나만 있을 수도 있습니다.

  11. 모델 학습을 시작하려면 모델 학습을 클릭합니다.

    데이터세트 크기와 학습 예산에 따라 모델 학습을 완료하는 데 몇 시간이 걸릴 수도 있습니다. 브라우저 창을 닫아도 학습 과정에는 영향을 주지 않습니다.

    모델 학습이 끝나면 학습 탭에 정밀도 및 재현율과 같은 모델의 상위 수준 측정항목이 나타납니다.

    학습된 모델의 상위 수준 측정항목

    모델 품질 평가 관련 도움이 필요하다면 모델 평가를 참조하세요.

REST

다음 예시는 모델을 학습시키기 전에 데이터 스키마를 검토하고 업데이트하는 방법을 보여줍니다.

리소스가 EU 지역에 있는 경우 {location}eu을 사용하고 eu-automl.googleapis.com 엔드포인트를 사용합니다. 그렇지 않은 경우 us-central1을 사용합니다. 자세히 알아보기

  1. 가져오기가 끝나면 테이블 사양을 나열해 테이블 ID를 가져옵니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • endpoint: 전역 위치인 경우 automl.googleapis.com, EU 리전인 경우 eu-automl.googleapis.com입니다.
    • project-id: Google Cloud 프로젝트 ID입니다.
    • location: 리소스의 위치로 전역인 경우 us-central1, 유럽 연합인 경우 eu입니다.
    • dataset-id: 데이터 세트 ID입니다. 예를 들면 TBL6543입니다.

    HTTP 메서드 및 URL:

    GET https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id/tableSpecs/

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    테이블 ID는 name 필드에 굵게 표시됩니다.

  2. 열 사양을 나열합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • endpoint: 전역 위치인 경우 automl.googleapis.com, EU 리전인 경우 eu-automl.googleapis.com입니다.
    • project-id: Google Cloud 프로젝트 ID입니다.
    • location: 리소스의 위치로 전역인 경우 us-central1, 유럽 연합인 경우 eu입니다.
    • dataset-id: 데이터 세트 ID입니다. 예를 들면 TBL6543입니다.
    • table-id: 테이블의 ID입니다.

    HTTP 메서드 및 URL:

    GET https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id/tableSpecs/table-id/columnSpecs/

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

  3. 원할 경우 타겟 열을 구성합니다.

    이것은 모델이 예측하도록 학습한 값입니다. 열의 데이터 유형에 따라 결과 모델이 회귀(숫자) 모델인지 분류(범주형) 모델인지가 결정됩니다. 자세히 알아보기

    타겟 열에 범주형의 데이터 유형이 있다면 열에는 고유 값이 2개에서 500개까지 있어야 합니다.

    모델을 학습시킬 때 타겟 열을 지정해도 됩니다. 이 경우 나중에 사용할 수 있도록 테이블 ID와 원하는 타겟 열 ID를 보관하세요.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • endpoint: 전역 위치인 경우 automl.googleapis.com, EU 리전인 경우 eu-automl.googleapis.com입니다.
    • project-id: Google Cloud 프로젝트 ID입니다.
    • location: 리소스의 위치로 전역인 경우 us-central1, 유럽 연합인 경우 eu입니다.
    • dataset-id: 데이터 세트의 ID입니다.
    • target-column-id: 타겟 열의 ID입니다.

    HTTP 메서드 및 URL:

    PATCH https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id

    JSON 요청 본문:

    {
      "tablesDatasetMetadata": {
        "targetColumnSpecId": "target-column-id"
      }
    }
    

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

  4. 원할 경우 데이터 분할을 지정할 mlUseColumnSpecId 필드와 가중치 열을 사용할 weightColumnSpecId 필드를 업데이트할 수 있습니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • endpoint: 전역 위치인 경우 automl.googleapis.com, EU 리전인 경우 eu-automl.googleapis.com입니다.
    • project-id: Google Cloud 프로젝트 ID입니다.
    • location: 리소스의 위치로 전역인 경우 us-central1, 유럽 연합인 경우 eu입니다.
    • dataset-id: 데이터 세트의 ID입니다.
    • split-column-id: 타겟 열의 ID입니다.
    • weight-column-id: 타겟 열의 ID입니다.

    HTTP 메서드 및 URL:

    PATCH https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id

    JSON 요청 본문:

    {
      "tablesDatasetMetadata": {
        "mlUseColumnSpecId": "split-column-id",
        "weightColumnSpecId": "weight-column-id"
      }
    }
    

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

  5. 열 통계를 검토해 dataType 값이 올바르며 열에 nullable에 대한 올바른 값이 있는지 확인합니다.

    필드가 null 비허용으로 표시되면 학습 데이터세트에 대한 null 값이 없다는 의미입니다. 이는 예측 데이터에도 적용됩니다. 즉, 열이 null 비허용으로 표시되며 예측 시점에 값이 제공되지 않으면 해당 행에 대해 예측 오류가 반환됩니다.

    스키마 검토 자세히 알아보기

  6. 데이터 품질을 검토합니다.

    학습 데이터 분석 자세히 알아보기

  7. 모델을 학습시킵니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • endpoint: 전역 위치인 경우 automl.googleapis.com, EU 리전인 경우 eu-automl.googleapis.com입니다.
    • project-id: Google Cloud 프로젝트 ID입니다.
    • location: 리소스의 위치로 전역인 경우 us-central1, 유럽 연합인 경우 eu입니다.
    • dataset-id: 데이터 세트 ID입니다.
    • table-id: 타겟 열을 설정하는 데 사용된 테이블 ID입니다.
    • target-column-id: 타겟 열의 ID입니다.
    • model-display-name: 새 모델의 표시 이름입니다.
    • optimization-objective를 최적화할 측정항목으로 바꿉니다(선택사항).

      자세한 내용은 모델 최적화 목표 정보를 참조하세요.

    • train-budget-milli-node-hours는 학습의 밀리 노드 시간 수로 바꿉니다. 예를 들어 1000은 1시간을 의미합니다.

      추천 학습 시간은 학습 데이터의 크기와 관련이 있습니다. 아래 표는 행 수에 따른 추천 학습 시간 범위를 보여주며, 열 수가 늘어나면 학습 시간도 길어집니다.

      행 수 추천 학습 시간
      100,000개 미만 1~3시간
      100,000~1,000,000개 1~6시간
      1,000,000~10,000,000개 1~12시간
      10,000,000개 초과 3~24시간

      모델 생성은 학습 외에 다른 작업도 동반하며, 따라서 총 생성 시간은 학습 시간보다 더 깁니다. 예를 들어 학습 시간을 2시간으로 지정해도 모델 배포 준비까지 3시간 이상 걸릴 수 있습니다. 실제 학습 시간에 대해서만 요금이 청구됩니다.

      학습 가격 자세히 알아보기

      AutoML Tables에서 학습 예산이 소진되기 전 모델에 더 이상 개선이 없다고 판단하면 학습을 중단합니다. 예산에서 정한 전체 학습 시간을 사용하려면 tablesModelMetadata 객체의 disableEarlyStopping 속성을 true로 설정합니다.

    HTTP 메서드 및 URL:

    POST https://endpoint/v1beta1/projects/project-id/locations/location/models/

    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 응답이 표시됩니다.

    {
    
      "name": "projects/292381/locations/us-central1/operations/TBL64984",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.automl.v1beta1.OperationMetadata",
        "createTime": "2019-12-30T22:12:03.014058Z",
        "updateTime": "2019-12-30T22:12:03.014058Z",
        "cancellable": true,
        "createModelDetails": {
          "modelDisplayName": "new_model1"
        },
        "worksOn": [
          "projects/292381/locations/us-central1/datasets/TBL3718"
        ],
        "state": "RUNNING"
      }
    }
    

    모델 학습은 장기 실행 작업입니다. 작업 상태를 폴링하거나 작업이 반환될 때까지 기다립니다. 자세히 알아보기

Java

리소스가 EU 리전에 있다면 엔드포인트를 명시적으로 설정해야 합니다. 자세히 알아보기

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

리소스가 EU 리전에 있다면 엔드포인트를 명시적으로 설정해야 합니다. 자세히 알아보기

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용 클라이언트 라이브러리에는 AutoML Tables API로 간소화할 수 있는 추가 Python 메서드가 포함됩니다. 이러한 메서드는 데이터세트와 모델을 id가 아닌 이름으로 지칭합니다. 데이터 세트와 모델 이름은 고유해야 합니다. 자세한 내용은 클라이언트 참조를 확인하세요.

리소스가 EU 리전에 있다면 엔드포인트를 명시적으로 설정해야 합니다. 자세히 알아보기

# 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()}")

스키마 검토

AutoML Tables는 원본 데이터 유형(BigQuery에서 가져온 경우)과 열의 값을 기준으로 각 열의 null 허용 여부와 데이터 유형을 유추합니다. 각 열이 올바르게 표시되는지 확인해야 합니다.

다음 목록을 사용해 스키마를 검토하세요.

  • 자유 형식 텍스트를 포함하는 필드는 텍스트(Text)여야 합니다.

    텍스트 필드는 UnicodeScriptTokenizer로 구분되며 모델 학습에 사용한 개별 토큰으로 구성됩니다. UnicodeScriptTokenizer는 공백으로 텍스트를 토큰화하며, 텍스트와 서로 다른 언어에서 구두점을 분리합니다.

  • 열의 값이 유한한 값 세트 중 하나이면 필드에 사용된 데이터 유형에 관계없이 범주형일 수 있습니다.

    예를 들어 1은 빨간색, 2는 노란색 등으로 색상 코드를 설정할 수 있습니다. 이러한 필드가 범주형으로 지정되었는지 확인해야 합니다.

    열에 여러 단어로 구성된 문자열이 있다면 이 지침이 적용되지 않습니다. 이런 경우에는 카디널리티가 낮더라도 열을 텍스트(Text) 열로 설정해야 합니다. AutoML Tables는 텍스트 열을 토큰화하며, 개별 토큰이나 토큰 순서에서 예측 신호를 도출할 수 있습니다.

  • 필드가 null 비허용으로 표시되면 학습 데이터세트에 대한 null 값이 없다는 의미입니다. 이는 예측 데이터에도 적용됩니다. 즉, 열이 null 비허용으로 표시되며 예측 시점에 값이 제공되지 않으면 해당 행에 대해 예측 오류가 반환됩니다.

학습 데이터 분석

  • 열에 누락된 값의 비율이 높다면, 예상된 현상이며 데이터 수집 문제 때문에 발생한 일이 아닌지 확인하세요.

  • 잘못된 값의 수가 비교적 적거나 0이어야 합니다.

    1개 이상의 잘못된 값이 포함된 행은 자동으로 모델 학습 용도에서 제외됩니다.

  • 범주형 열의 고유 값이 행 수에 근접하면(예: 90% 초과) 해당 열은 다양한 학습 신호를 제공하지 못합니다. 이 경우 학습에서 제외해야 하며 ID 열은 항상 제외됩니다.

  • 열과 타겟의 상관관계 값이 높다면 이것이 예상된 현상인지 확인하고, 타겟 유출을 의미하는 것은 아닌지 확인하세요.

    예측을 요청할 때 열을 사용할 수 있다면, 이것은 설명 능력이 뛰어난 기능이며 포함할 수도 있습니다. 하지만 상관관계가 높은 특성이 타겟에서 파생되거나 사후에 수집되는 경우가 있습니다. 이러한 특성은 예측 시 사용할 수 없으므로 학습에서 제외해야 하며, 그렇지 않으면 모델이 프로덕션 단계에서 제대로 작동하지 않습니다.

    상관관계는 크래머 V를 사용해 범주형, 숫자형, 타임스탬프 열에 대해서만 계산됩니다. 숫자형 열에서는 분위수에서 생성한 버킷 숫자를 사용해 계산됩니다.

모델 최적화 목표 정보

최적화 목표는 모델의 학습 방법에 영향을 주며, 따라서 프로덕션 단계에서의 모델 성능에도 영향을 줍니다. 아래 표에서는 각 목표가 어떤 문제 유형에 가장 적합한지를 보여주는 정보를 확인할 수 있습니다,

최적화 목표 문제 유형 API 값 목표 사용 목적
AUC ROC 분류 MAXIMIZE_AU_ROC 클래스를 구분합니다. 이진 분류의 기본값입니다.
로그 손실 분류 MINIMIZE_LOG_LOSS 예측 확률을 최대한 정확하게 유지합니다. 다중 클래스 분류에만 지원되는 목표입니다.
AUC PR 분류 MAXIMIZE_AU_PRC 잘 사용하지 않는 클래스의 예측 결과를 최적화합니다.
재현율의 정밀도 분류 MAXIMIZE_PRECISION_AT_RECALL 특정 재현율 값에서 정밀도를 최적화합니다.
정밀도의 재현율 분류 MAXIMIZE_RECALL_AT_PRECISION 특정 정밀도 값에서 재현율을 최적화합니다.
RMSE 회귀 MINIMIZE_RMSE 더욱 극단적인 값을 정확하게 캡처합니다.
MAE 회귀 MINIMIZE_MAE 극한 값을 모델에 미치는 영향이 적은 이상점으로 봅니다.
RMSLE 회귀 MINIMIZE_RMSLE 절대값이 아닌 상대적 크기를 바탕으로 오류에 페널티를 적용합니다. 예측 값과 실제 값이 모두 상당히 클 때 특히 유용합니다.

다음 단계