

더 이상 Amazon Machine Learning 서비스를 업데이트하거나 새 사용자를 받지 않습니다. 이 설명서는 기존 사용자에 제공되지만 더 이상 업데이트되지 않습니다. 자세한 내용은 [머신 러닝이란?](https://docs.aws.amazon.com/machine-learning/latest/dg/what-is-amazon-machine-learning.html) 단원을 참조하세요.

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

# 예측 생성 및 해석
<a name="interpreting_predictions"></a>

Amazon ML은 예측을 생성하는 두 가지 메커니즘, 즉 비동기식 메커니즘(배치 기반)과 동기식 메커니즘(한 번에 하나씩)을 제공합니다.

관측치가 많은데 관측치에 대한 예측을 모두 한꺼번에 얻으려는 경우 비동기식 예측 또는 *배치 예측*을**** 사용합니다. 이 프로세스는 데이터 소스를 입력으로 사용하고 선택한 S3 버킷에 저장된 .csv 파일로 예측을 출력합니다. 예측 결과에 액세스하려면 배치 예측 프로세스가 완료될 때까지 기다려야 합니다. Amazon ML이 배치 파일에서 처리할 수 있는 데이터 소스의 최대 크기는 1TB(레코드가 약 1억 개)입니다. 데이터 소스가 1TB보다 크면 작업이 실패하고 Amazon ML에서 오류 코드를 반환합니다. 이를 방지하려면 데이터를 여러 배치로 나눕니다. 일반적으로 레코드가 더 긴 경우 레코드 1억 개가 처리되기 전에 1TB 한도에 도달하게 됩니다. 이 경우 [AWS 지원](https://aws.amazon.com/contact-us/) 팀에 문의하여 배치 예측에 필요한 작업 규모를 늘리는 것이 좋습니다.

짧은 지연 시간으로 예측을 얻으려는 경우, 동기 또는 *실시간* 예측****을 사용합니다. 실시간 예측 API는 JSON 문자열로 직렬화된 단일 입력 관측치를 받아들이고 API 응답의 일부로 예측 및 관련 메타데이터를 동기적으로 반환합니다. API를 두 번 이상 동시에 직접 호출하여 동기식 예측을 병렬로 가져올 수 있습니다. 실시간 예측 API의 처리량 제한에 대한 자세한 내용은 [ML](https://docs.aws.amazon.com/machine-learning/latest/APIReference/) API 참조의 실시간 예측 한도를 참조하세요.

**Topics**
+ [배치 예측 생성](creating-batch-prediction-objects.md)
+ [배치 예측 지표 검토](working-with-batch-predictions.md)
+ [배치 예측 출력 파일 읽기](reading-the-batchprediction-output-files.md)
+ [실시간 예측 요청](requesting-real-time-predictions.md)

# 배치 예측 생성
<a name="creating-batch-prediction-objects"></a>

배치 예측을 생성하려면 머신 러닝(ML) 콘솔 또는 API를 사용하여 `BatchPrediction` 객체를 생성합니다. `BatchPrediction` 객체는 ML이 ML 모델 및 입력 관측치 세트를 사용하여 생성하는 예측 세트를 설명합니다. `BatchPrediction` 객체를 생성하면 ML이 예측을 계산하는 비동기 워크플로를 시작합니다.

배치 예측을 얻는 데 사용하는 데이터 소스와 예측을 위해 쿼리하는 ML 모델을 학습시키는 데 사용한 데이터 소스에 동일한 스키마를 사용해야 합니다. 한 가지 예외는 Amazon ML이 대상을 예측하기 때문에 배치 예측의 데이터 소스에 대상 속성을 포함시킬 필요가 없다는 것입니다. 대상 속성을 제공하는 경우 Amazon ML은 해당 값을 무시합니다.

## 배치 예측 생성(콘솔)
<a name="batch-prediction-console"></a>

Amazon ML 콘솔을 사용하여 배치 예측을 생성하려면 배치 예측 생성 마법사를 사용합니다.

**배치 예측을 생성하려면(콘솔)**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/machinelearning/](https://console.aws.amazon.com/machinelearning/) Amazon Machine Learning 콘솔을 엽니다.

1. ML 대시보드의 **객체**에서 **새로 만들기...**를 선택한 다음 **배치 예측**을 선택합니다.

1. 배치 예측을 생성하는 데 사용할 Amazon ML 모델을 선택합니다.

1. 이 모델을 사용할 것인지 확인하려면 **계속**을 선택합니다.

1. 예측을 생성하려는 데이터 소스를 선택합니다. 대상 속성을 포함시킬 필요는 없지만 데이터 소스는 모델과 동일한 스키마를 가져야 합니다.

1. **계속**을 선택합니다.

1. **S3 목적지**에서 S3 버킷의 이름을 입력합니다.

1. **검토**를 선택합니다.

1. 설정을 검토한 후 **배치 예측 생성**을 선택합니다.

## 배치 예측 생성(API)
<a name="batch-prediction-api"></a>

ML API를 사용하여 `BatchPrediction` 객체를 생성하려면 다음 파라미터를 제공해야 합니다.

**데이터 소스 ID**  
예측하려는 관측치를 가리키는 데이터 소스의 ID입니다. 예를 들어 `s3://examplebucket/input.csv`이라는 파일의 데이터를 예측하려면 데이터 파일을 가리키는 데이터 소스 객체를 만든 다음 이 파라미터와 함께 해당 데이터 소스의 ID를 전달하면 됩니다.

**배치 예측 ID**  
배치 예측에 할당할 ID입니다.

**ML 모델 ID**  
Amazon ML이 예측을 위해 쿼리해야 하는 ML 모델의 ID입니다.

**출력 Uri**  
예측 결과를 저장할 S3 버킷의 URI입니다. Amazon ML에 이 버킷에 데이터를 쓸 권한이 있어야 합니다.  
`OutputUri` 파라미터는 다음 예와 같이 슬래시('/') 문자로 끝나는 S3 경로를 참조해야 합니다.  
s3://examplebucket/examplepath/  
S3 권한 구성에 대한 자세한 내용은 [Amazon S3에 예측을 출력할 수 있는 권한을 Amazon ML에 부여](granting-amazon-ml-permissions-to-output-predictions-to-amazon-s3.md) 단원을 참조하세요.

**(선택 사항) 배치 예측 이름**  
(선택 사항) 배치 예측에 사용할 수 있는 이름입니다.

# 배치 예측 지표 검토
<a name="working-with-batch-predictions"></a>

머신 러닝(ML)은 배치 예측을 생성한 후 `Records seen`과 `Records failed to process`의 두 가지 지표를 제공합니다. `Records seen`은 ML이 배치 예측을 실행할 때 살펴본 레코드 수를 알려줍니다. `Records failed to process`는 ML에서 처리할 수 없는 레코드 수를 알려줍니다.

Amazon ML에서 실패한 레코드를 처리할 수 있도록 하려면 데이터 소스를 생성하는 데 사용된 데이터의 레코드 형식을 확인하고 필요한 속성이 모두 있고 모든 데이터가 올바른지 확인합니다. 데이터를 수정한 후에는 배치 예측을 다시 생성하거나 실패한 레코드로 새 데이터 소스를 생성한 다음 새 데이터 소스를 사용하여 새 배치 예측을 생성할 수 있습니다.

## 배치 예측 지표 검토(콘솔)
<a name="review-console"></a>

ML 콘솔에서 지표를 확인하려면 **배치 예측 요약** 페이지를 열고 **처리된 정보** 섹션을 살펴봅니다.

## 배치 예측 지표 및 세부 정보 검토(API)
<a name="review-api"></a>

ML API를 사용하여 레코드 지표를 비롯한 `BatchPrediction` 객체에 대한 세부 정보를 검색할 수 있습니다. Amazon ML은 다음과 같은 배치 예측 API 직접 호출을 제공합니다.
+ `CreateBatchPrediction`
+ `UpdateBatchPrediction`
+ `DeleteBatchPrediction`
+ `GetBatchPrediction`
+ `DescribeBatchPredictions`

자세한 내용은 [ML API 참조](https://docs.aws.amazon.com/machine-learning/latest/APIReference/) 단원을 참조하세요.

# 배치 예측 출력 파일 읽기
<a name="reading-the-batchprediction-output-files"></a>

배치 예측 출력 파일을 검색하려면 다음 단계를 수행합니다.

1. 배치 예측 매니페스트 파일을 찾습니다.

1. 매니페스트 파일을 읽고 출력 파일의 위치를 확인합니다.

1. 예측이 포함된 출력 파일을 검색합니다.

1. 출력 파일의 콘텐츠를 해석합니다. 콘텐츠는 예측을 생성하는 데 사용된 ML 모델의 유형에 따라 달라집니다.

다음에 이어지는 단원에서는 이러한 단계에 대해 자세히 설명합니다.

## 배치 예측 매니페스트 파일 찾기
<a name="locating-the-batch-prediction-manifest-file"></a>

배치 예측의 매니페스트 파일에는 입력 파일을 예측 출력 파일에 매핑하는 정보가 들어 있습니다.

매니페스트 파일을 찾으려면 배치 예측 객체를 만들 때 지정한 출력 위치부터 시작합니다. 완료된 배치 예측 객체를 쿼리하여 [ML API](https://docs.aws.amazon.com/machine-learning/latest/APIReference/) 또는 [https://console.aws.amazon.com/machinelearning/](https://console.aws.amazon.com/machinelearning/) 중 하나를 사용하면 이 파일의 S3 위치를 검색할 수 있습니다.

매니페스트 파일은 출력 위치에 추가된 정적 문자열 `/batch-prediction/`과, 매니페스트 파일 이름(배치 예측의 ID)과 여기에 확장자 `.manifest`가 추가된 경로로 구성된 경로의 출력 위치에 있습니다.

예를 들어 ID `bp-example`의 배치 예측 객체를 생성하고 S3 위치 `s3://examplebucket/output/`를 출력 위치로 지정했다면 여기에서 매니페스트 파일을 찾을 수 있을 것입니다.

`s3://examplebucket/output/batch-prediction/bp-example.manifest`

## 매니페스트 파일 읽기
<a name="reading-the-manifest-file"></a>

.manifest 파일의 콘텐츠는 JSON 맵으로 인코딩되어 있는데, 키는 S3 입력 데이터 파일 이름의 문자열에, 값은 관련 배치 예측 결과 파일의 문자열에 각각 해당됩니다. 입력/출력 파일 쌍마다 매핑 라인이 하나씩 있습니다. 예제를 계속 살펴보면, `BatchPrediction` 객체 생성을 위한 입력이 `s3://examplebucket/input/`에 있는 data.csv 라는 단일 파일로 구성된 경우 다음과 같은 매핑 문자열이 표시될 수 있습니다.

```
{"s3://examplebucket/input/data.csv":"
s3://examplebucket/output/batch-prediction/result/bp-example-data.csv.gz"}
```

`BatchPrediction` 객체 생성에 대한 입력이 data1.csv, data2.csv, data3.csv 라는 세 개의 파일로 구성되어 있고 이들 파일이 모두 S3 위치 `s3://examplebucket/input/`에 저장되어 있는 경우 다음과 같은 매핑 문자열이 표시될 수 있습니다.

```
{"s3://examplebucket/input/data1.csv":"s3://examplebucket/output/batch-prediction/result/bp-example-data1.csv.gz",

"s3://examplebucket/input/data2.csv":"
s3://examplebucket/output/batch-prediction/result/bp-example-data2.csv.gz",

"s3://examplebucket/input/data3.csv":"
s3://examplebucket/output/batch-prediction/result/bp-example-data3.csv.gz"}
```

## 배치 예측 출력 파일 검색
<a name="retrieving-the-batch-prediction-output-files"></a>

매니페스트 매핑에서 가져온 각 배치 예측 파일을 다운로드하여 로컬로 처리할 수 있습니다. 파일 형식은 CSV이고, gzip 알고리즘으로 압축되어 있습니다. 해당 파일 내에는 해당 입력 파일의 입력 관측치당 라인이 하나씩 있습니다.

예측을 배치 예측의 입력 파일과 결합하려면 두 파일을 레코드별로 간단히 병합하면 됩니다. 배치 예측의 출력 파일에는 항상 예측 입력 파일과 같은 수의 레코드가 같은 순서로 포함됩니다. 입력 관측치 처리에 실패하고 예측을 생성할 수 없는 경우 배치 예측 출력 파일의 해당 위치에 빈 줄이 생깁니다.

## 바이너리 분류 ML 모델용 배치 예측 파일의 콘텐츠 해석
<a name="interpreting-the-contents-of-batch-prediction-files-for-a-binary-classification-ml-model"></a>

바이너리 분류 모델용 배치 예측 파일의 열 이름은 **최고응답** 및 **score**로 지정됩니다.

**최고응답** 열에는 예측 점수를 커트라인 점수와 비교하여 얻은 예측 레이블("1" 또는 "0")이 들어 있습니다. 커트라인 점수에 대한 자세한 내용은 [점수 커트라인 조정](https://docs.aws.amazon.com/machine-learning/latest/dg/evaluating_models.html) 단원을 참조하세요. ML 모델의 커트라인 점수는 Amazon ML API 또는 Amazon ML 콘솔의 모델 평가 기능을 사용하여 설정합니다. 커트라인 점수를 설정하지 않은 경우 Amazon ML은 기본 값인 0.5를 사용합니다.

**score** 열에는 이 예측에 대해 ML 모델에서 할당한 원시 예측 점수가 들어 있습니다. ML은 로지스틱 회귀 모델을 사용하므로 이 점수는 실제 ("1") 값에 해당하는 관측치의 확률을 모델링하려고 시도합니다. 참고로 **점수**는 과학적 표기법으로 보고되므로 다음 예제의 첫 번째 행에서 8.7642E-3 값은 0.0087642와 같습니다.

예를 들어 ML 모델의 커트라인 점수가 0.75인 경우 바이너리 분류 모델에 대한 배치 예측 출력 파일의 콘텐츠는 다음과 같을 수 있습니다.

```
bestAnswer,score

0,8.7642E-3

1,7.899012E-1


0,6.323061E-3

0,2.143189E-2


1,8.944209E-1
```

입력 파일에서 두 번째 및 다섯 번째 관측치의 예측 점수가 0.75를 넘었으므로 이들 관측치에 대한 bestAnswer 열에는 값 "1"이 표시되는 반면에 다른 관측치의 값은 "0"이 됩니다.

## 멀티클래스 분류 ML 모델용 배치 예측 파일의 콘텐츠 해석
<a name="interpreting-the-contents-of-batch-prediction-files-for-a-multiclass-classification-ml-model"></a>

멀티클래스 모델용 배치 예측 파일은 학습 데이터에 있는 각 클래스에 대해 하나의 열을 포함하고 있습니다. 열 이름은 배치 예측 파일의 헤더 라인에 표시됩니다.

멀티클래스 모델에서 예측을 요청하면 Amazon ML은 입력 파일의 각 관측치에 대해 입력 데이터 세트에 정의된 각 클래스별로 하나씩 여러 예측 점수를 계산합니다. 이는 "다른 클래스와 달리 이 관측치가 이 클래스에 속할 확률(0과 1 사이로 측정)은 얼마입니까?" 라고 묻는 것과 같습니다. 각 점수는 "관측치가 이 클래스에 속할 확률"로 해석될 수 있습니다. 예측 점수가 한 클래스 또는 다른 클래스에 속해 있는 관측치의 기본 확률을 모델링한 것이기 때문에 한 행에 있는 모든 예측 점수의 합계는 1이 됩니다. 클래스 하나를 모델의 예측 클래스로 선택해야 합니다. 확률이 가장 높은 클래스를 가장 좋은 답으로 선택하는 것이 가장 일반적일 것입니다.

예를 들어, 별 1개에서 5개까지의 척도를 기준으로 제품에 대한 고객의 평점을 예측한다고 생각해 보겠습니다. 클래스 이름을 `1_star`, `2_stars`, `3_stars`, `4_stars`, `5_stars`로 지정한다면 멀티클래스 예측 출력 파일은 다음과 같이 표시될 수 있습니다.

```
1_star, 2_stars, 3_stars, 4_stars, 5_stars

8.7642E-3, 2.7195E-1, 4.77781E-1, 1.75411E-1, 6.6094E-2

5.59931E-1, 3.10E-4, 2.48E-4, 1.99871E-1, 2.39640E-1

7.19022E-1, 7.366E-3, 1.95411E-1, 8.78E-4, 7.7323E-2

1.89813E-1, 2.18956E-1, 2.48910E-1, 2.26103E-1, 1.16218E-1

3.129E-3, 8.944209E-1, 3.902E-3, 7.2191E-2, 2.6357E-2
```

이 예제에서는 첫 번째 관측치가 `3_stars` 클래스에 대한 예측 점수가 가장 높으므로(예측 점수 = 4.77781E-1), 이 관측치에 대한 최선의 답은 클래스 `3_stars`임을 보여주는 것으로 결과를 해석할 수 있을 것입니다. 참고로 예측 점수는 과학 표기법으로 보고되므로 예측 점수 4.77781E-1은 0.477781과 같습니다.

확률이 가장 높은 클래스를 선택하고 싶지 않은 경우도 있을 수 있습니다. 예를 들어, 예측 점수가 가장 높더라도 해당 클래스가 가장 좋은 답으로 간주되지 않도록 최소 임계값을 이 이하로 설정하는 것이 좋습니다. 영화를 장르별로 분류하고 장르를 최선의 답으로 선언하기 전에 예측 점수가 5E-1 이상이어야 한다고 가정해 보겠습니다. 코미디의 경우 3E-1, 드라마의 경우 2.5E-1, 다큐멘터리의 경우 2.5E-1, 액션 영화의 경우 2E-1 등의 예측 점수를 얻습니다. 이 경우 ML 모델은 코미디가 가장 가능성이 높은 선택이라고 예측하지만 사용자는 코미디를 최선의 답으로 선택하지 않기로 결정합니다. 예측 점수 중 어느 것도 기준 예측 점수인 5E-1을 초과하지 않았기 때문에 장르를 자신 있게 예측하기에는 예측이 충분하지 않다고 판단하고 다른 것을 선택하기로 결정합니다. 그러면 애플리케이션에서 이 영화의 장르 필드를 "알 수 없음"으로 간주할 수 있습니다.

## 회귀 ML 모델용 배치 예측 파일의 콘텐츠 해석
<a name="interpreting-the-contents-of-batch-prediction-files-for-a-regression-ml-model"></a>

회귀 모델용 배치 예측 파일에는 **score**라는 단일 열이 포함되어 있습니다. 이 열에는 입력 데이터의 각 관측치에 대한 원시 수치 예측이 들어 있습니다. 값은 과학적 표기법으로 보고되므로 다음 예제의 첫 번째 행에서 -1.526385E1의 **점수** 값은 -15.26835와 같습니다.

이 예제는 회귀 모델에서 수행된 배치 예측의 출력 파일을 보여줍니다.

```
score

-1.526385E1

-6.188034E0

-1.271108E1

-2.200578E1

8.359159E0
```

# 실시간 예측 요청
<a name="requesting-real-time-predictions"></a>

실시간 예측은 Amazon Machine Learning(Amazon ML)에 대한 동기식 직접 호출입니다. Amazon ML이 요청을 받으면 예측이 수행되고 응답은 즉시 반환됩니다. 실시간 예측은 일반적으로 대화식 웹, 모바일 또는 데스크톱 애플리케이션에서 예측 기능을 활성화하는 데 사용됩니다. ML을 통해 생성된 ML 모델에 지연 시간이 짧은 `Predict` API를 사용하여 실시간으로 예측을 쿼리할 수 있습니다. `Predict` 작업은 요청 페이로드에서 단일 입력 관측치를 수용하고 응답에서 예측을 동기식으로 반환합니다. 이를 통해, 입력 관측치의 위치를 가리키는 Amazon ML 데이터 소스 객체의 ID를 사용하여 간접적으로 호출되는 배치 예측 API와 별개로 설정되며, 모든 관측치에 대한 예측을 포함하는 파일에 URI를 비동기식으로 반환합니다. Amazon ML은 100밀리초 이내에 대부분의 실시간 예측 요청에 응답합니다.

Amazon ML 콘솔에서 비용 발생 없이 실시간 예측을 시도할 수 있습니다. 실시간 예측을 사용하기로 결정한 경우 먼저 실시간 예측 생성을 위한 엔드포인트를 생성해야 합니다. 이 작업은 ML 콘솔에서 또는 `CreateRealtimeEndpoint` API를 사용하여 수행할 수 있습니다. 엔드포인트를 생성한 후에는 실시간 예측 API를 사용하여 실시간 예측을 생성합니다.

**참고**  
모델에 대해 실시간 엔드포인트를 생성한 후 모델의 크기를 기준으로 용량 예약 요금이 부과되기 시작합니다. 자세한 내용은 [요금](https://aws.amazon.com/machine-learning/pricing/) 단원을 참조하세요. 콘솔에 실시간 엔드포인트를 생성하면 엔드포인트에서 지속적으로 발생하는 예상 요금의 세부 내역이 콘솔에 표시됩니다. 해당 모델에서 더 이상 실시간 예측을 얻을 필요가 없을 때 요금 부과를 중단하려면 콘솔 또는 `DeleteRealtimeEndpoint` 작업을 사용하여 실시간 엔드포인트를 제거합니다.

`Predict` 요청 및 응답의 예는 *머신 러닝 API 참조*의 [예측](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_Predict.html) 단원을 참조하세요. 모델을 사용하는 정확한 응답 형식의 예를 확인하려면 [실시간 예측 시도](#testing-real-time-predictions) 단원을 참조하세요.

**Topics**
+ [실시간 예측 시도](#testing-real-time-predictions)
+ [실시간 엔드포인트 생성](#creating-a-real-time-endpoint)
+ [실시간 예측 엔드포인트 찾기(콘솔)](#locate-endpoint-by-console)
+ [실시간 예측 엔드포인트 찾기(API)](#locating-the-real-time-prediction-endpoint)
+ [실시간 예측 요청 생성](#real-time-prediction-request-format)
+ [실시간 엔드포인트 삭제](#delete-endpoint)

## 실시간 예측 시도
<a name="testing-real-time-predictions"></a>

실시간 예측을 사용할지 여부를 결정하는 데 도움을 주기 위해 Amazon ML은 실시간 예측 엔드포인트 설정과 관련된 추가 요금의 발생 없이 단일 데이터 레코드에 대한 예측을 시도할 수 있게 허용합니다. 실시간 예측을 시도하려면 ML 모델이 있어야 합니다. 대규모 실시간 예측을 생성하려면 *머신 러닝 API 참조*의 [Predict](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_Predict.html) API를 사용합니다.

**실시간 예측을 시도하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/machinelearning/](https://console.aws.amazon.com/machinelearning/) Amazon Machine Learning 콘솔을 엽니다.

1. 탐색 모음의 **머신 러닝** 드롭다운에서 **ML 모델**을 선택합니다.

1. 자습서의 `Subscription propensity model`과 같이 실시간 예측을 시도하는 데 사용할 모델을 선택합니다.

1. ML 모델 보고서 페이지의 **예측**에서 **요약**을 선택한 다음 **실시간 예측 시도**를 선택합니다.  
![\[Tools section with option to try real-time predictions.\]](http://docs.aws.amazon.com/ko_kr/machine-learning/latest/dg/images/try-real-time.png)

   Amazon ML이 이 모델을 학습시키는 데 사용한 데이터 레코드를 구성하는 변수 목록을 보여줍니다.

1. 양식의 각 필드에 데이터를 입력하거나 단일 데이터 레코드를 CSV 형식으로 텍스트 상자에 붙여넣어 계속 진행할 수 있습니다.

   해당 양식을 사용하려면 각 **값** 필드에 실시간 예측을 테스트하는 데 사용할 데이터를 입력합니다. 입력하는 데이터 레코드에 하나 이상의 데이터 속성에 대한 값이 포함되어 있지 않은 경우 입력 필드를 비워 둡니다.

   데이터 레코드를 제공하려면 **레코드 붙여넣기**를 선택합니다. 단일 CSV 형식의 데이터 행을 텍스트 필드에 붙여넣고 **제출**을 선택합니다. ML이 자동으로 **값** 필드를 채웁니다.
**참고**  
데이터 레코드의 데이터는 학습 데이터와 동일한 수의 열을 가져야 하며 동일한 순서로 배열되어야 합니다. 유일한 예외 사항은 대상 값을 생략해야 한다는 것입니다. 대상 값을 포함시킨 경우 Amazon ML이 무시합니다.

1. 페이지 하단에서 **예측 생성**을 선택합니다. Amazon ML이 즉시 예측을 반환합니다.

   **예측 결과** 창에 `Predict` API 직접 호출이 반환하는 예측 객체가 ML 모델 유형, 대상 변수 이름 및 예상 클래스 또는 값과 함께 표시됩니다. 결과 해석에 대한 자세한 내용은 [바이너리 분류 ML 모델용 배치 예측 파일의 콘텐츠 해석](reading-the-batchprediction-output-files.md#interpreting-the-contents-of-batch-prediction-files-for-a-binary-classification-ml-model) 단원을 참조하세요.  
![\[Prediction results showing binary ML model type with predicted label 0 and score details.\]](http://docs.aws.amazon.com/ko_kr/machine-learning/latest/dg/images/real-time-result.png)

## 실시간 엔드포인트 생성
<a name="creating-a-real-time-endpoint"></a>

실시간 예측을 생성하려면 실시간 엔드포인트를 생성해야 합니다. 실시간 엔드포인트를 생성하려면 먼저 실시간 예측을 생성할 ML 모델이 있어야 합니다. ML 콘솔을 사용하거나 `CreateRealtimeEndpoint` API를 호출하여 실시간 엔드포인트를 생성할 수 있습니다. `CreateRealtimeEndpoint` API 사용에 대한 자세한 내용은 머신 러닝 API 참조의 [https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_CreateRealtimeEndpoint.html](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_CreateRealtimeEndpoint.html) 단원을 참조하세요.

**실시간 엔드포인트를 생성하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/machinelearning/](https://console.aws.amazon.com/machinelearning/) Amazon Machine Learning 콘솔을 엽니다.

1. 탐색 모음의 **머신 러닝** 드롭다운에서 **ML 모델**을 선택합니다.

1. 실시간 예측을 생성하려는 모델을 선택합니다.

1. **ML 모델 요약** 페이지의 **예측** 아래에서 **실시간 엔드포인트 생성**을 선택합니다.

   실시간 예측의 가격 책정 방법을 설명하는 대화 상자가 나타납니다.

1. **생성**을 선택합니다. 실시간 엔드포인트 요청이 Amazon ML로 전송되어 대기열로 들어갑니다. 실시간 엔드포인트의 상태는 **업데이트하는 중**이 됩니다.  
![\[Real-time endpoint status shown as "Updating" in a user interface element.\]](http://docs.aws.amazon.com/ko_kr/machine-learning/latest/dg/images/endpoint-updating.png)

1. 실시간 엔드포인트가 준비되면 상태가 **준비** 상태로 변경되고 ML이 엔드포인트 URL을 표시합니다. 엔드포인트 URL을 사용하여 `Predict` API를 통해 실시간 예측을 생성합니다. `Predict` API 사용에 대한 자세한 내용은 머신 러닝 API 참조의 [https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_Predict.html](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_Predict.html) 단원을 참조하세요.  
![\[Real-time endpoint status showing Ready with an endpoint URL and Peak Requests Per Second value.\]](http://docs.aws.amazon.com/ko_kr/machine-learning/latest/dg/images/endpoint-ready.png)

## 실시간 예측 엔드포인트 찾기(콘솔)
<a name="locate-endpoint-by-console"></a>

ML 콘솔을 사용하여 ML 모델의 엔드포인트 URL을 찾으려면 모델의 **ML 모델 요약** 페이지로 이동합니다.

**실시간 엔드포인트 URL을 찾으려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/machinelearning/](https://console.aws.amazon.com/machinelearning/) Amazon Machine Learning 콘솔을 엽니다.

1. 탐색 모음의 **머신 러닝** 드롭다운에서 **ML 모델**을 선택합니다.

1. 실시간 예측을 생성하려는 모델을 선택합니다.

1. **ML 모델 요약** 페이지에서 **예측** 섹션이 보일 때까지 스크롤을 아래로 내립니다.

1. 모델의 엔드포인트 URL은 **실시간 예측**에 나열되어 있습니다. 해당 URL을 실시간 예측 호출에 대한 **엔드포인트 Url** URL로 사용합니다. 엔드포인트를 사용하여 예측을 생성하는 방법에 대한 자세한 내용은 머신 러닝 API 참조의 [https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_Predict.html](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_Predict.html) 단원을 참조하세요.

## 실시간 예측 엔드포인트 찾기(API)
<a name="locating-the-real-time-prediction-endpoint"></a>

`CreateRealtimeEndpoint` 작업을 사용하여 실시간 엔드포인트를 생성하면 응답에 URL 및 엔드포인트 상태가 반환됩니다. 콘솔을 사용하여 실시간 엔드포인트를 생성했거나 이전에 생성한 엔드포인트의 URL 및 상태를 검색하려는 경우 실시간 예측에 대해 쿼리하려는 모델의 ID로 `GetMLModel` 작업을 직접적으로 호출합니다. 엔드포인트 정보는 응답의 `EndpointInfo` 섹션에 포함되어 있습니다. 실시간 엔드포인트가 연결된 모델의 경우 `EndpointInfo`는 다음과 같은 모습일 수 있습니다.

```
"EndpointInfo":{
    "CreatedAt": 1427864874.227,
    "EndpointStatus": "READY",
    "EndpointUrl": "https://endpointUrl",
    "PeakRequestsPerSecond": 200
}
```

실시간 엔드포인트가 없는 모델은 다음을 반환합니다.

```
EndpointInfo":{
    "EndpointStatus": "NONE",
    "PeakRequestsPerSecond": 0
}
```

## 실시간 예측 요청 생성
<a name="real-time-prediction-request-format"></a>

샘플 `Predict` 요청 페이로드는 다음과 같은 모습일 수 있습니다.

```
{
    "MLModelId": "model-id",
    "Record":{
        "key1": "value1",
        "key2": "value2"
    },
    "PredictEndpoint": "https://endpointUrl"
}
```

`PredictEndpoint` 필드는 `EndpointInfo` 구조의 `EndpointUrl` 필드와 일치해야 합니다. Amazon ML은 이 필드를 사용하여 실시간 예측 플릿의 해당 서버로 요청을 라우팅합니다.

`MLModelId`는 이전에 학습된 실시간 엔드포인트가 있는 모델의 식별자입니다.

`Record`는 변수 이름에 대한 변수 값의 맵입니다. 각 쌍은 관측치를 나타냅니다. `Record` 맵에는 ML 모델에 대한 입력이 포함되어 있습니다. 대상 변수가 없는 학습 데이터 세트의 단일 행 데이터와 유사합니다. 학습 데이터의 값 유형에 관계없이 `Record`에는 문자열-문자열 매핑이 포함됩니다.

**참고**  
값을 가지지 않은 변수를 생략할 수 있지만 이렇게 되면 예측 정확성은 감소할 수 있습니다. 더 많은 변수를 포함할수록 모델이 정확해집니다.

`Predict` 요청으로 반환된 응답의 형식은 예측에 대해 쿼리 중인 모델의 유형에 따라 다릅니다. 모든 사례에서 `details` 필드에는 특히 모델 유형이 있는 `PredictiveModelType` 필드를 비롯하여 예측 요청에 대한 정보가 포함되어 있습니다.

다음 예에서는 이진 모델에 대한 응답 이벤트를 보여줍니다.

```
{
    "Prediction":{
        "details":{
            "PredictiveModelType": "BINARY"
        },
        "predictedLabel": "0",
        "predictedScores":{
            "0": 0.47380468249320984
        }
    }
}
```

예측된 레이블이 포함된 `predictedLabel` 필드에 주목하세요(이 경우 0). Amazon ML은 예측 점수를 분류 기준과 비교하여 예측 레이블을 계산합니다.
+ `GetMLModel` 작업에 응하여 `ScoreThreshold` 필드를 검사하거나 ML 콘솔의 모델 정보를 확인하여 현재 ML 모델과 연결된 분류 커트라인을 얻을 수 있습니다. 점수 임계값을 설정하지 않으면 Amazon ML은 기본 값인 0.5를 사용합니다.
+ `predictedScores` 맵을 검사하면 바이너리 분류 모델의 정확한 예측 점수를 얻을 수 있습니다. 이 맵 내에서 예측된 레이블은 정확한 예측 점수와 짝을 이룹니다.

이진 예측에 대한 자세한 내용은 [예측 해석](binary-model-insights.md#interpreting-the-predictions) 단원을 참조하세요.

다음 예에서는 회귀 모델에 대한 응답 이벤트를 보여줍니다. 예측된 숫자 값은 `predictedValue` 필드에서 찾을 수 있습니다.

```
{
    "Prediction":{
        "details":{
            "PredictiveModelType": "REGRESSION"
        },
        "predictedValue": 15.508452415466309
    }
}
```

다음 예에서는 멀티클래스 모델에 대한 응답 이벤트를 보여줍니다.

```
{
    "Prediction":{
        "details":{
            "PredictiveModelType": "MULTICLASS"
        },
        "predictedLabel": "red",
        "predictedScores":{
            "red": 0.12923571467399597,
            "green": 0.08416014909744263,
            "orange": 0.22713537514209747,
            "blue": 0.1438363939523697,
            "pink": 0.184102863073349,
            "violet": 0.12816807627677917,
            "brown": 0.10336143523454666
        }
    }
}
```

바이너리 분류 모델과 마찬가지로 예측된 레이블/클래스도 `predictedLabel` 필드에서 찾을 수 있습니다. `predictedScores` 맵을 확인하여 예측이 각 클래스와 얼마나 큰 관련이 있는지 더욱 깊이 이해할 수 있습니다. 이 맵에서 클래스의 점수가 높을수록 예측이 해당 클래스와 더욱 큰 관련이 있으며 가장 높은 값은 궁극적으로 `predictedLabel`로 선택됩니다.

멀티클래스 예측에 대한 자세한 내용은 [멀티클래스 모델 인사이트 정보](multiclass-model-insights.md) 단원을 참조하세요.

## 실시간 엔드포인트 삭제
<a name="delete-endpoint"></a>

실시간 예측을 완료했으면 추가 요금이 발생하지 않도록 실시간 엔드포인트를 삭제합니다. 엔드포인트를 삭제하는 즉시 요금 발생이 중지됩니다.

**실시간 엔드포인트를 삭제하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/machinelearning/](https://console.aws.amazon.com/machinelearning/) Amazon Machine Learning 콘솔을 엽니다.

1. 탐색 모음의 **머신 러닝** 드롭다운에서 **ML 모델**을 선택합니다.

1. 실시간 예측이 더 이상 필요하지 않은 모델을 선택합니다.

1. ML 모델 보고서 페이지의 **예측**에서 **요약**을 선택합니다.

1. **실시간 엔드포인트 삭제**를 선택합니다.

1. **실시간 엔드포인트 삭제** 대화 상자에서 **삭제**를 선택합니다.