

# Escolher entre precisão e recuperação
<a name="machine-learning-precision-recall-tradeoff"></a>

Toda transformação `FindMatches` tem um parâmetro `precision-recall`. Você usa esse parâmetro para especificar o seguinte:
+ Caso esteja mais preocupado com a possibilidade da transformação detectar a correspondência de dois registros que, na verdade, não correspondem, favoreça a *precisão*. 
+ Caso esteja mais preocupado com a transformação falhar na detecção de registros que correspondem, favoreça a *revocação*.

Você pode ajustar esse equilíbrio no console do AWS Glue ou usando as operações da API de machine learning do AWS Glue.

**Quando favorecer a precisão**  
Dê preferência para a precisão se você estiver mais preocupado com o risco de `FindMatches` corresponder registros que, na verdade, não correspondem. Para favorecer a precisão, escolha um valor *mais alto* de equilíbrio entre precisão e recall. Com um valor mais alto, a transformação `FindMatches` precisa de mais evidências para decidir se dois registros devem corresponder. A transformação será ajustada para corresponder menos registros.

Por exemplo, suponha que você esteja usando `FindMatches` para detectar itens duplicados em um catálogo de filmes e fornece um valor de precisão-revocação mais alto para a transformação. Se a sua transformação detecta incorretamente que *Star Wars: Uma Nova Esperança* é o mesmo que *Star Wars: O Império Contra-Ataca*, um cliente que procurando *Uma Nova Esperança* poderá ver *O Império Contra-Ataca*. Isso resultaria em uma experiência do cliente insatisfatória. 

No entanto, se a transformação não detectar que *Star Wars: Uma Nova Esperança* e *Star Wars: Episódio IV - Uma Nova Esperança* são o mesmo item, o cliente pode ficar confuso, mas reconhecerá os dois como iguais. Isso seria um erro, mas menos prejudicial que o primeiro caso.

**Quando favorecer a recuperação**  
Dê preferência para a revocação se você estiver mais preocupado com o risco da transformação `FindMatches` não detectar pares de registros que, na verdade, são correspondentes. Para favorecer o recall, escolha um valor *mais baixo* de equilíbrio entre precisão e recall. Com um valor mais baixo, a transformação `FindMatches` precisa de menos evidências para decidir se dois registros devem corresponder. A transformação será ajustada para tender a corresponder mais registros.

Por exemplo, isso pode ser uma prioridade em uma organização de segurança. Suponha que você está comparando a lista de clientes com uma lista de falsificadores, e deve determinar se cada cliente é um falsificador ou não. Você vai usar `FindMatches` para corresponder a lista de falsificadores com a lista de clientes. Sempre que `FindMatches` detectar uma correspondência entre as duas listas, um auditor humano é atribuído para verificar se aquela pessoa é realmente um falsificador. Sua organização pode preferir revocação ao invés de precisão. Ou seja, você prefere que os auditores revisem e rejeitem manualmente os casos nos quais o cliente não é um falsificador à transformação falhar ao identificar se um cliente está na lista de falsificadores.

**Como favorecer tanto a precisão como a recuperação**  
A melhor maneira de aprimorar a precisão e a revocação é rotulando mais dados. Conforme você rotula mais dados, a acurácia geral da transformação `FindMatches` melhora, aprimorando, por sua vez, a precisão e a revocação. No entanto, até com a maior acurácia possível em uma transformação, você sempre precisará experimentar entre favorecer precisão ou revocação, ou manter um valor equilibrado. 