

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 어트리뷰션 드리프트를 모니터링하는 파라미터
<a name="clarify-config-json-monitor-model-explainability-parameters"></a>

Amazon SageMaker Clarify 설명 가능성 모니터는 [분석 구성 파일](clarify-processing-job-configure-analysis.md)의 분석 구성에서 사용된 매개변수의 하위 집합을 재사용합니다. 다음 매개변수가 반드시 JSON 파일로 제공되어야 하고, 해당 경로는 반드시 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelExplainabilityAppSpecification](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelExplainabilityAppSpecification)의 `ConfigUri`매개변수에 제공되어야 합니다.
+ `"version"` - (선택사항) 해당 구성 파일의 스키마 버전입니다. 제공하지 않을 경우, 지원 가능한 최신 버전이 사용됩니다.
+ `"headers"` - (선택사항) 데이터세트의 특징 이름 목록. 설명 가능성 분석에는 레이블이 필요하지 않습니다.
+ `"methods"` - 분석 및 보고를 위한 메서드 및 관련 매개변수의 목록입니다. 생략된 섹션이 있는 경우, 해당 섹션은 계산되지 않습니다.
  + `"shap"` - (선택사항) SHAP 값 계산에 관한 섹션입니다.
    + `"baseline"` - (선택사항) 행의 목록(하나 이상)이거나, 또는 Amazon Simple Storage Service Amazon S3 객체 URI입니다. Kernel SHAP 알고리즘에서 기준 데이터세트(백그라운드 데이터세트라고도 함)로 사용됩니다. 형식은 데이터세트 형식과 동일해야 합니다. 각 행에는 해당 특징 열(또는 값)만 포함되어 있어야 합니다. 각 행을 모델로 보내기 전에 제외되어야 하는 열을 먼저 모두 제외하세요.
    + `"num_samples"` - Kernel SHAP 알고리즘에서 사용할 샘플의 수입니다. 이 숫자는 SHAP 값을 계산하기 위해 생성되는 합성 데이터세트의 크기를 결정합니다. 제공하지 않을 경우, SageMaker Clarify 작업은 특징의 개수를 기반으로 값을 선택합니다.
    + `"agg_method"` - 글로벌 SHAP 값에 대한 집계 메서드입니다. 유효한 값은 다음과 같습니다.
      + `"mean_abs"` - 모든 인스턴스에 대한 절대 SHAP 값의 평균입니다.
      + `"median"` - 모든 인스턴스에 대한 SHAP 값의 중앙값입니다.
      + `"mean_sq"` - 모든 인스턴스에 대한 제곱 SHAP 값의 평균입니다.
    + `"use_logit"` - (선택사항) 로짓 함수를 모델 예측에 적용할지 여부를 나타내는 부울 값입니다. 만약 `"use_logit"`이 `true`라면, SHAP 값은 로그 승산 단위를 가집니다. 기본값은 `false`입니다.
    + `"save_local_shap_values"` - (선택사항) 로컬 SHAP 값을 출력 위치에 저장할지 여부를 나타내는 부울 값입니다. 저장하려면 `true`를 사용하세요. 저장하지 않으려면 `false`를 사용하세요. 기본값은 `false`입니다.
+ `"predictor"` - (실시간 엔드포인트인 경우 선택사항/배치 변환인 경우 필수) 모델 매개변수에 대한 섹션으로, `"shap"`및 `"post_training_bias"`섹션이 존재하는 경우 필수입니다.
  + `"model_name"` - `CreateModel`API에서 생성한 모델 이름으로, 컨테이너 모드는 `SingleModel`입니다.
  + `"instance_type"` - 섀도우 엔드포인트의 인스턴스 유형입니다.
  + `"initial_instance_count"` - 섀도우 엔드포인트의 인스턴스 개수입니다.
  + `"content_type"` - (선택사항) 섀도우 엔드포인트를 통해 추론을 가져오는 데 사용되는 모델 입력 형식입니다. 유효한 값은 CSV인 경우 `"text/csv"`, JSON Lines인 경우 `"application/jsonlines"`, Apache Parquet인 경우 `application/x-parquet`, 그리고 컴퓨터 비전 설명 가능성을 활성화하려면 `application/x-image`입니다. 기본값은 `dataset_type`형식과 동일합니다.
  + `"accept_type"` - (선택사항) 섀도우 엔드포인트를 통해 추론을 가져오는 데 사용되는 모델 출력 형식입니다.** 유효한 값은 `"text/csv"`인 경우 CSV, JSON Lines인 경우 `"application/jsonlines"`입니다. 제외할 경우, SageMaker Clarify 함수는 캡처된 데이터의 응답 데이터 유형을 사용합니다.
  + `"content_template"` - (선택사항) 데이터세트 인스턴스에서 모델 입력을 구성하는 데 사용되는 템플릿 문자열입니다. `"content_type"`이 `"application/jsonlines"`인 경우에만 사용됩니다. 템플릿에는 자리 표시자가 `$features`하나만 있어야 하며, 이는 런타임 시 특징 목록으로 대체됩니다. 예를 들어 `"content_template":"{\"myfeatures\":$features}"`에서, 만약 인스턴스(레이블 없음)가 `1,2,3`이라면, 모델 입력은 JSON Lines `'{"myfeatures":[1,2,3]}'`이 됩니다.
  + `"label_headers"` - (선택사항) `"label"`이 데이터세트에서 가져오는 값의 목록입니다. 모델 엔드포인트 또는 배치 변환 작업에서 반환된 점수를 해당 레이블 값과 연결합니다. 이 값이 제공되면 분석 보고서는 `“label0”`과 같은 자리 표시자 대신에 헤더를 사용합니다.

다른 매개변수는 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelExplainabilityJobInput](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelExplainabilityJobInput)API의 `EndpointInput`(실시간 엔드포인트인 경우) 또는 `BatchTransformInput`(배치 변환 작업인 경우)에서 제공되어야 합니다.
+ `FeaturesAttribute` - 엔드포인트 또는 배치 작업 입력 데이터 형식이 `"application/jsonlines"`인 경우 이 매개변수가 필요합니다. 데이터세트 형식이 JSON Lines인 경우 해당 특징 열을 찾는 데 사용되는 것은 JMEsPath입니다.
+ `ProbabilityAttribute` - 확률을 계산하는 모델 출력의 인덱스 또는 JMEsPath 위치입니다. 예를 들어, 모델 출력이 레이블 및 확률 목록을 포함하는 JSON Lines인 경우라면, 최대 확률에 해당하는 레이블이 편향 계산 용도로 선택됩니다.

## CSV 및 JSON Lines 데이터세트를 위한 JSON 구성 파일의 예제
<a name="clarify-config-json-monitor-model-explainability-parameters-examples"></a>

다음은 CSV 및 JSON Lines 데이터세트를 구성하여 특징 속성 드리프트를 모니터링하기 위해 사용하는 JSON 파일의 예제입니다.

**Topics**
+ [CSV 데이터세트](#clarify-config-json-monitor-model-explainability-parameters-example-csv)
+ [JSON Lines 데이터세트](#clarify-config-json-monitor-model-explainability-parameters-example-jsonlines)

### CSV 데이터세트
<a name="clarify-config-json-monitor-model-explainability-parameters-example-csv"></a>

다음 예제와 같이 3개의 숫자형 특징 열이 있는 데이터세트를 생각해보겠습니다.

```
0.5814568701544718, 0.6651538910132964, 0.3138080342665499
0.6711642728531724, 0.7466687034026017, 0.1215477472819713
0.0453256543003371, 0.6377430803264152, 0.3558625219713576
0.4785191813363956, 0.0265841045263860, 0.0376935084990697
```

다음 예제와 같이 모델 출력값에 두 개의 열이 있다고 가정합니다.첫 번째 열은 예측된 레이블이고 두 번째 열은 확률입니다.

```
1, 0.5385257417814224
```

다음 JSON 구성 파일 예제는 이 CSV 데이터세트를 구성할 수 있는 방법을 보여줍니다.

```
{
                    
    "headers": [
        "feature_1",
        "feature_2",
        "feature_3"
    ],
    "methods": {
        "shap": {
            "baseline": [
                [0.4441164946610942, 0.5190374448171748, 0.20722795300473712]
            ],
            "num_samples": 100,
            "agg_method": "mean_abs"
        }
    },
    "predictor": {
        "model_name": "my_model",
        "instance_type": "ml.m5.xlarge",
        "initial_instance_count": 1
    }
}
```

예측된 레이블은 `"ProbabilityAttribute"`매개변수에 의해 선택되었습니다. 0 기준으로 시작하는 번호 매기기가 사용되므로, 여기서 1은 모델 출력의 두 번째 열을 나타냅니다.

```
"EndpointInput": {
    ...
    "ProbabilityAttribute": 1
    ...
}
```

### JSON Lines 데이터세트
<a name="clarify-config-json-monitor-model-explainability-parameters-example-jsonlines"></a>

다음 예제와 같이 특징 열 4개와 레이블 열 1개가 있는 데이터세트에서 첫 번째 특징과 레이블이 이진수라고 가정해 보겠습니다.

```
{"features":[0, 0.5814568701544718, 0.6651538910132964, 0.3138080342665499], "label":0}
{"features":[1, 0.6711642728531724, 0.7466687034026017, 0.1215477472819713], "label":1}
{"features":[0, 0.0453256543003371, 0.6377430803264152, 0.3558625219713576], "label":1}
{"features":[1, 0.4785191813363956, 0.0265841045263860, 0.0376935084990697], "label":1}
```

모델 입력은 데이터세트 형식과 동일하며, 모델 출력은 다음 예제와 같은 JSON Line입니다.

```
{"predicted_label":1, "probability":0.5385257417814224}
```

다음 예제에서, JSON 구성 파일은 이 JSON Lines 데이터세트를 구성할 수 있는 방법을 보여줍니다.

```
{
    "headers": [
        "feature_1",
        "feature_2",
        "feature_3"
    ],
    "methods": {
        "shap": {
            "baseline": [
                {"features":[0.4441164946610942, 0.5190374448171748, 0.20722795300473712]}
            ],
            "num_samples": 100,
            "agg_method": "mean_abs"
        }
    },
    "predictor": {
        "model_name": "my_model",
        "instance_type": "ml.m5.xlarge",
        "initial_instance_count": 1,
        "content_template":"{\"features\":$features}"
    }
}
```

이 때, 데이터세트의 특징을 찾는 데는 `EndpointInput`(실시간 엔드포인트인 경우) 또는 `BatchTransformInput`(배치 변환 작업인 경우)의 `"features"`매개변수 값이 사용되고, `"probability"`매개변수 값은 모델 출력값에서 확률 값을 선택하게 됩니다.

```
"EndpointInput": {
    ...
    "FeaturesAttribute": "features",
    "ProbabilityAttribute": "probability",
    ...
}
```