데이터 및 특성 디버깅

품질이 낮은 모델은 모델 성능에 상당한 영향을 미칩니다. 모델이 잘못 예측한 후 그 존재를 추측하는 대신 입력에서 품질이 낮은 데이터를 훨씬 쉽게 감지할 수 있습니다. 이 섹션의 안내에 따라 데이터를 모니터링합니다.

데이터 스키마를 사용하여 입력 데이터 검증

데이터를 모니터링하려면 데이터가 충족해야 하는 규칙을 작성하여 예상 통계 값과 비교하여 데이터를 지속적으로 확인해야 합니다. 이러한 규칙 모음을 데이터 스키마라고 합니다. 다음 단계에 따라 데이터 스키마를 정의합니다.

  1. 특성 데이터의 경우 범위와 분포를 파악합니다. 범주형 특성의 경우 가능한 값 집합을 이해합니다.
  2. 이해한 내용을 스키마에 정의된 규칙으로 인코딩합니다. 규칙의 예는 다음과 같습니다.

    • 사용자가 제출한 평점이 항상 1~5 사이여야 합니다.
    • 영어 텍스트 기능의 경우 'the'가 가장 자주 발생하는지 확인합니다.
    • 범주형 특성에 고정 세트의 값이 있는지 확인합니다.
  3. 데이터 스키마를 기준으로 데이터를 테스트합니다. 스키마는 다음과 같은 데이터 오류를 포착해야 합니다.

    • anomalies
    • 범주형 변수의 예기치 않은 값
    • 예상치 못한 데이터 분포

분할 품질이 양호해야 합니다.

테스트 및 학습 분할은 입력 데이터를 동일하게 나타내야 합니다. 테스트 및 학습 분할이 통계적으로 다른 경우 학습 데이터는 테스트 데이터를 예측하는 데 도움이 되지 않습니다. 데이터를 샘플링하고 분할하는 방법을 알아보려면 ML에서 데이터 준비 및 특성 추출 과정의 데이터 샘플링 및 분할 섹션을 참조하세요.

분할의 통계 속성을 모니터링합니다. 속성이 분산되면 플래그를 표시합니다. 또한 각 분할의 예시 비율이 일정하게 유지되는지 테스트합니다. 예를 들어 데이터가 80:20으로 분할된 경우 비율은 변경되지 않습니다.

엔지니어링된 데이터 테스트

원시 데이터는 유효할 수 있지만 모델에는 추출된 특성 데이터만 표시됩니다. 추출된 데이터는 원시 입력 데이터와 매우 다르므로 추출된 데이터를 별도로 확인해야 합니다. 엔지니어링된 데이터에 대한 이해에 따라 단위 테스트를 작성합니다. 예를 들어 단위 테스트를 작성하여 다음 조건을 확인할 수 있습니다.

  • 모든 숫자 특성은 0과 1 사이로 조정됩니다.
  • 원-핫 인코딩된 벡터는 0과 1의 1개의 0만 포함합니다.
  • 누락된 데이터가 평균값 또는 기본값으로 대체됩니다.
  • 변환 후의 데이터 분포는 기대치를 준수합니다. 예를 들어 z 점수를 사용해 정규화한 경우 z 점수의 평균은 0입니다.
  • 확장 또는 자르기와 같은 이상점은 처리됩니다.