표 형식의 기본 제공 알고리즘의 데이터 사전 처리

이 페이지에서는 AI Platform Training이 기본 제공 알고리즘으로 학습시킬 데이터를 사전 처리하는 방법을 간략하게 설명합니다. 또한 입력 데이터의 요구사항 및 제한사항도 설명합니다.

표 형식 기본 제공 알고리즘

표 형식의 데이터(숫자 및 범주형 데이터)를 허용하는 기본 제공 알고리즘은 몇 가지 사전 처리 기능을 갖고 있습니다.

각 표 형식 기본 제공 알고리즘의 사전 처리 작동 방법에 대한 자세한 내용은 관련 가이드를 참조하세요.

XGBoost 알고리즘의 분산형 버전은 자동 사전 처리를 지원하지 않습니다.

입력 데이터 형식 지정

입력 데이터는 UTF-8로 인코딩된 CSV 파일이어야 합니다.

다음 요구사항을 충족하는 입력 CSV 파일을 준비해야 합니다.

  • 헤더 행을 삭제합니다. 헤더 행에는 각 열의 라벨이 있습니다. 학습 데이터의 일부인 나머지 데이터 인스턴스와 함께 제출되지 않도록 헤더 행을 삭제합니다.
  • 타겟 열이 첫 번째 열인지 확인합니다. 타겟 열에는 예측할 값이 포함됩니다. 분류 알고리즘의 경우, 타겟 열의 모든 값은 클래스 또는 카테고리입니다. 회귀 알고리즘의 경우, 타겟 열의 모든 값은 숫자 값입니다.

사전 처리 작동 방식

범주형 데이터 및 수치 데이터에 자동 전처리가 수행됩니다. 사전 처리 루틴은 먼저 데이터를 분석한 후 변환합니다.

분석

먼저 AI Platform Training은 데이터 세트 열을 열별로 분석합니다. AI Platform Training은 각 열의 데이터 유형을 자동으로 감지하고, 데이터 변환을 위한 열 처리 방법을 식별하고, 열 데이터의 일부 통계를 계산합니다. 학습 작업은 Cloud Storage 버킷의 다른 학습 아티팩트에 포함된 metadata.json 파일에서 이 분석 결과를 캡처합니다.

  • 유형: 열은 숫자형 또는 범주형일 수 있습니다.
  • 처리: 알고리즘은 각 열의 처리 방법을 식별합니다. 열은 상수 또는 행 식별자로 처리될 수 있습니다. 카테고리 값이 정수 또는 문자열인지 여부에 따라 범주형 열에 ID 또는 어휘 태그가 지정될 수도 있습니다. 카테고리가 많이 있는 열은 해싱 처리되어 보다 작고 관리하기 쉬운 카테고리의 수를 계산합니다.
  • 통계: 각 열의 유형과 처리를 기준으로 각 열의 특성이 변환될 수 있도록 통계가 계산됩니다.

변환

데이터 세트의 초기 분석이 완료되면 AI Platform Training은 데이터 세트에 적용된 유형, 처리 방식, 통계를 기준으로 데이터를 변환합니다. AI Platform Training은 다음 순서로 변환을 수행합니다.

  1. 분할률을 지정하는 경우 학습 데이터 세트를 검증 데이터 세트와 테스트 데이터 세트로 분할합니다.
  2. 특성이 10% 이상 누락된 행을 삭제합니다.
  3. 누락 값을 채웁니다. 숫자 열에는 평균이 사용됩니다. XGBoost의 경우, 범주형 열에 0이 사용됩니다.

변환 예시

누락된 값이 10%인 행을 삭제합니다. 다음 예시에서는 행에 값이 10개 있다고 가정합니다. 각 예시 행에는 간단한 설명을 위해 일부 내용만 표시되어 있습니다.

행 문제 원래 값 변환된 값 설명
예시 행에 누락 값 없음 [3, 0.45, ...,
'fruits', 0, 1]
[3, 0.45, ...,
1, 0, 0, 0, 1]
'fruits' 문자열이 원-핫 인코딩에서 '1, 0, 0' 값으로 변환됩니다. TensorFlow 기반 알고리즘의 경우, TensorFlow 그래프에서 이를 수행합니다. XGBoost의 경우, AI Platform Training이 이 변환을 수행합니다.
누락 값이 너무 많음 [3, 0.45, ...,
'fruits', __, __]
행이 삭제됨 행의 값이 10% 이상 누락되었습니다.
숫자 값 누락 [3, 0.45, ...,
'fruits', 0, __]
[3, 0.45, ...,
1, 0, 0, 0, 0.54]
  • 누락된 숫자 값이 열 평균 값으로 대체됩니다. 이 예시에서 평균 값은 0.54입니다.
  • 'fruits' 문자열이 원-핫 인코딩에서 '1, 0, 0' 값으로 변환됩니다. TensorFlow 기반 알고리즘의 경우, TensorFlow 그래프에서 이를 수행합니다. XGBoost의 경우, AI Platform Training이 이 변환을 수행합니다.
범주형 값 누락 [3, 0.45, ...,
__, 0, 1]
[3, 0.45, ...,
0, 0, 0, 0, 1]
  • 누락된 범주형 값이 원-핫 인코딩에서 '0, 0, 0' 값으로 변환됩니다. TensorFlow 기반 알고리즘의 경우, TensorFlow 그래프에서 이를 수행합니다. XGBoost의 경우, AI Platform Training이 이 변환을 수행합니다.

기본 제공 알고리즘의 기반이 되는 ML 프레임워크에 따라 변환 프로세스에 또 다른 차이점이 있습니다. TensorFlow 기반의 기본 제공 알고리즘(선형 학습자, 와이드 앤 딥)의 경우, 열 처리는 TensorFlow 모델에서 생성된 특성 열과 직접적으로 일치합니다. AI Platform Training이 TensorFlow 에스티메이터 모델의 특성 열을 할당하기만 하면 데이터 변환이 TensorFlow 에스티메이터 모델 내에서 사전 처리의 일부로 수행됩니다.

그렇지 않으면 XGBoost와 마찬가지로 AI Platform Training이 열 처리를 적용하고 데이터 변환을 직접 수행합니다.

다음 단계