<commit_before># TensorFlow 데이터 검증: 데이터 확인 및 분석하기

데이터가 TFX 파이프라인에 있으면 TFX 구성 요소를 사용하여 분석하고 변환할 수 있습니다. 모델을 훈련하기 전에도 이러한 도구를 사용할 수 있습니다.

데이터를 분석하고 변환하는 데는 여러 가지 이유가 있습니다.

- 데이터에서 문제를 찾기 위함입니다. 일반적인 문제는 다음과 같습니다.
    - 값이 비어있는 특성과 같은 누락된 데이터
    - 모델이 훈련 중에 올바른 답을 엿볼 수 있도록 특성으로 취급되는 레이블
    - 예상 범위를 벗어난 값을 가진 특성
    - 데이터 이상
    - 전이 학습된 모델에 훈련 데이터와 일치하지 않는 전처리가 있음
- 더 효과적인 특성 세트를 설계하기 위함입니다. 예를 들어, 다음을 식별할 수 있습니다.
    - 특히 유용한 특성
    - 중복 특성
    - 규모 면에서 매우 광범위하여 학습 속도가 느려질 수 있는 특성
    - 고유한 예측 정보가 거의 또는 전혀 없는 특성

TFX 도구는 데이터 버그를 찾는 데 도움이 되고 특성 엔지니어링(feature engineering)에 도움이 됩니다.

## TensorFlow 데이터 검증

- [개요](#overview)
- [스키마 기반 예제 검증](#schema_based_example_validation)
- [Training-Serving Skew Detection](#skewdetect)
- [편향 감지](#drift_detection)

### 개요

TensorFlow 데이터 검증은 훈련 및 적용 데이터에서 이상을 식별하고 데이터를 검사하여 스키마를 자동으로 만들 수 있습니다. 구성 요소는 데이터에서 서로 다른 클래스의 이상을 감지하도록 구성할 수 있습니다. 이는 다음을 수행합니다.

1. 데이터 통계와 사용자의 기대치를 코드화하는 스키마를 비교하여 검사를 수행합니다.
2. 훈련 및 적용 데이터의 예제를 비교하여 훈련-적용 편향을 감지합니다.
3. 일련의 데이터를 보고 데이터 편향을 감지합니다.

이러한 각 기능을 독립적으로 문서화합니다.

- [스키마 기반 예제 검증](#schema_based_example_validation)
- [Training-Serving Skew Detection](#skewdetect)
- [편향 감지](#drift_detection)

### 스키마 기반 예제 검증

TensorFlow 데이터 검증은 데이터 통계를 스키마와 비교하여 입력 데이터의 이상을 식별합니다. 스키마는 데이터 유형 또는 범주 값과 같이 입력 데이터가 충족할 것으로 예상되는 속성을 코드화하고 사용자가 수정하거나 바꿀 수 있습니다.

Tensorflow Data Validation은 일반적으로 (i) ExampleGen에서 얻은 모든 분할, (ii) 변환에서 사용하는 모든 사전 변환된 데이터 및 (iii) 변환에 의해 생성된 모든 사후 변환 데이터를 대상으로 TFX 파이프라인의 컨텍스트 내에서 여러 번 호출됩니다. 변환 (ii-iii)의 컨텍스트에서 호출되었을 때 [`stats_options_updater_fn`](tft.md)을 정의하여 통계 옵션과 스키마 기반 제약 조건을 설정할 수 있습니다. 이것은 구조화되지 않은 데이터(예: 텍스트 특성)의 유효성을 검사할 때 특히 유용합니다. 예제는 [사용자 코드](https://github.com/tensorflow/tfx/blob/master/tfx/examples/bert/mrpc/bert_mrpc_utils.py)를 참조하세요.

#### 고급 스키마 특성

이 섹션에서는 특수 설정에 도움이 될 수 있는 고급 스키마 구성을 다룹니다.<commit_msg>Translate tfdv.md via GitLocalize<commit_after># TensorFlow 데이터 검증: 데이터 확인 및 분석하기

데이터가 TFX 파이프라인에 있으면 TFX 구성 요소를 사용하여 분석하고 변환할 수 있습니다. 모델을 훈련하기 전에도 이러한 도구를 사용할 수 있습니다.

데이터를 분석하고 변환하는 데는 여러 가지 이유가 있습니다.

- 데이터에서 문제를 찾기 위함입니다. 일반적인 문제는 다음과 같습니다.
    - 값이 비어있는 특성과 같은 누락된 데이터
    - 모델이 훈련 중에 올바른 답을 엿볼 수 있도록 특성으로 취급되는 레이블
    - 예상 범위를 벗어난 값을 가진 특성
    - 데이터 이상
    - 전이 학습된 모델에 훈련 데이터와 일치하지 않는 전처리가 있음
- 더 효과적인 특성 세트를 설계하기 위함입니다. 예를 들어, 다음을 식별할 수 있습니다.
    - 특히 유용한 특성
    - 중복 특성
    - 규모 면에서 매우 광범위하여 학습 속도가 느려질 수 있는 특성
    - 고유한 예측 정보가 거의 또는 전혀 없는 특성

TFX 도구는 데이터 버그를 찾는 데 도움이 되고 특성 엔지니어링(feature engineering)에 도움이 됩니다.

## TensorFlow 데이터 검증

- [개요](#overview)
- [스키마 기반 예제 검증](#schema_based_example_validation)
- [훈련-서빙 편향 감지](#skewdetect)
- [편향 감지](#drift_detection)

### 개요

TensorFlow 데이터 검증은 훈련 및 적용 데이터에서 이상을 식별하고 데이터를 검사하여 스키마를 자동으로 만들 수 있습니다. 구성 요소는 데이터에서 서로 다른 클래스의 이상을 감지하도록 구성할 수 있습니다. 이는 다음을 수행합니다.

1. 데이터 통계와 사용자의 기대치를 코드화하는 스키마를 비교하여 검사를 수행합니다.
2. 훈련 및 적용 데이터의 예제를 비교하여 훈련-적용 편향을 감지합니다.
3. 일련의 데이터를 보고 데이터 편향을 감지합니다.

이러한 각 기능을 독립적으로 문서화합니다.

- [스키마 기반 예제 검증](#schema_based_example_validation)
- 훈련-서빙 편향 감지[](#skewdetect)
- [편향 감지](#drift_detection)

### 스키마 기반 예제 검증

TensorFlow 데이터 검증은 데이터 통계를 스키마와 비교하여 입력 데이터의 이상을 식별합니다. 스키마는 데이터 유형 또는 범주 값과 같이 입력 데이터가 충족할 것으로 예상되는 속성을 코드화하고 사용자가 수정하거나 바꿀 수 있습니다.

Tensorflow Data Validation은 일반적으로 (i) ExampleGen에서 얻은 모든 분할, (ii) 변환에서 사용하는 모든 사전 변환된 데이터 및 (iii) 변환에 의해 생성된 모든 사후 변환 데이터를 대상으로 TFX 파이프라인의 컨텍스트 내에서 여러 번 호출됩니다. 변환 (ii-iii)의 컨텍스트에서 호출되었을 때 [`stats_options_updater_fn`](tft.md)을 정의하여 통계 옵션과 스키마 기반 제약 조건을 설정할 수 있습니다. 이것은 구조화되지 않은 데이터(예: 텍스트 특성)의 유효성을 검사할 때 특히 유용합니다. 예제는 [사용자 코드](https://github.com/tensorflow/tfx/blob/master/tfx/examples/bert/mrpc/bert_mrpc_utils.py)를 참조하세요.

#### 고급 스키마 특성

이 섹션에서는 특수 설정에 도움이 될 수 있는 고급 스키마 구성을 다룹니다.
{'fraction_non_alphanumeric': 0.07690187431091511, 'fraction_numerical': 0.0016538037486218302, 'mean_word_length': 2.9402823018458197, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6405989', 'n_tokens_mistral': 3055, 'n_tokens_neox': 4173, 'n_words': 650}