

# 정밀도와 재현율 중에서 결정
<a name="machine-learning-precision-recall-tradeoff"></a>

각 `FindMatches` 변환에는 `precision-recall` 파라미터가 포함되어 있습니다. 이 파라미터를 사용하여 다음 중 하나를 지정합니다.
+ 변환이 실제로는 일치하지 않는 두 레코드가 일치한다고 잘못 보고할 것이 더 우려되는 경우, *정밀도*를 강조해야 합니다.
+ 변환이 정말로 일치하는 레코드를 감지하지 못할 것이 더 우려되는 경우, *재현율*을 강조해야 합니다.

AWS Glue 콘솔에서 또는 AWS Glue 기계 학습 API 작업을 사용하여 균형을 이룰 수 있습니다.

**정밀도를 추구해야 하는 경우**  
`FindMatches`가 실제로는 일치하지 않는 레코드 페어가 일치한다고 할 위험이 더 우려되는 경우 정밀도를 추구합니다. 정밀도를 추구하려면 *더 높은* 정밀도-재현율 균형 값을 선택합니다. 더 큰 값의 경우 `FindMatches` 변환에는 레코드 페어가 일치해야 한다고 결정하기 위해 더 많은 증거가 필요합니다. 이 변환은 레코드가 일치하지 않는다고 말하는 경향이 있습니다.

예를 들어 `FindMatches`를 사용하여 비디오 카탈로그에서 중복 항목을 감지하며, 변환에 더 큰 정밀도-재현율 값을 제공한다고 가정하겠습니다. 변환이 *Star Wars: A New Hope*가 *Star Wars: The Empire Strikes Back*과 같다고 잘못 감지하는 경우, *A New Hope*을 원하는 고객에게 *The Empire Strikes Back*이 표시될 수 있습니다. 이는 부정적인 고객 경험이 됩니다.

그러나 변환이 *Star Wars: A New Hope*와 *Star Wars: Episode IV—A New Hope*가 동일한 항목이라고 감지하지 못하면 고객은 처음에는 혼란스러울 수 있으나 결국에는 둘을 동일하게 인식할 수 있습니다. 이는 실수이지만, 이전 시나리오만큼 나쁘지는 않습니다.

**재현율을 추구해야 하는 경우**  
`FindMatches` 변환 결과가 실제로는 일치하는 레코드 페어를 감지하지 못할 것이 더 우려되는 경우 재현율을 추구합니다. 재현율을 추구하려면 *더 낮은* 정밀도-재현율 균형 값을 선택합니다. 더 작은 값의 경우 `FindMatches` 변환에는 레코드 페어가 일치해야 한다고 결정하기 위해 더 적은 증거가 필요합니다. 이 변환은 레코드가 일치한다고 말하는 경향이 있습니다.

예를 들어 이는 보안 조직의 우선 순위일 수 있습니다. 고객을 알려진 사기꾼 목록과 대조해 보고 있으며, 고객이 사기꾼인지 여부를 확인하는 것이 중요하다고 가정하겠습니다. `FindMatches`를 사용하여 사기꾼 목록을 고객 목록과 대조하고 있습니다. `FindMatches`가 두 목록 간에 일치 항목을 감지할 때마다 해당 사람이 실제로 사기꾼인지 확인하기 위해 인간 감사자가 지정됩니다. 조직은 정밀도보다 재현율을 선택하는 것을 선호할 수 있습니다. 다시 말해 감사자가 수동으로 검토하고 고객이 사기꾼이 아닌 일부 사례를 거부하도록 하는 것입니다. 그러면 고객이 실제로 사기꾼 목록에 있음을 식별하지 못할 일이 없습니다.

**정밀도와 재현율을 모두 추구하는 방법**  
정밀도와 재현율을 모두 개선하는 가장 좋은 방법은 더 많은 데이터에 레이블을 지정하는 것입니다. 더 많은 데이터에 레이블을 지정하면 `FindMatches` 변환의 전반적인 정확도가 개선되므로 정밀도와 재현율도 개선됩니다. 그럼에도 불구하고 가장 정확한 변환에서조차 정밀도 또는 재현율을 추구하는 실험이 필요하거나 중간 값을 선택해야 하는 애매한 상황이 항상 있습니다.