Avaliar Recomendador
Este artigo descreve como usar o componente Avaliar Recomendação no designer do Azure Machine Learning. O objetivo é medir a precisão das previsões que um modelo de recomendação fez. Usando esse componente, você pode avaliar diferentes tipos de recomendações:
- Classificações previstas para um utilizador e um item
- Itens recomendados para um usuário
Quando você cria previsões usando um modelo de recomendação, resultados ligeiramente diferentes são retornados para cada um desses tipos de previsão suportados. O componente Avaliar recomendação deduz o tipo de previsão do formato de coluna do conjunto de dados pontuado. Por exemplo, o conjunto de dados pontuados pode conter:
- Triplos na classificação de itens do usuário
- Usuários e seus itens recomendados
O componente também aplica as métricas de desempenho apropriadas, com base no tipo de previsão que está sendo feita.
Como configurar o Evaluate Recommender
O componente Avaliar recomendação compara a saída da previsão usando um modelo de recomendação com os dados correspondentes de "verdade básica". Por exemplo, o componente Recomendação de pontuação SVD produz conjuntos de dados pontuados que você pode analisar usando Avaliar recomendador.
Requisitos
Avaliar Recomendação requer os seguintes conjuntos de dados como entrada.
Conjunto de dados de teste
O conjunto de dados de teste contém os dados de "verdade básica" na forma de triplos de classificação de item do usuário.
Conjunto de dados de pontuação
O conjunto de dados pontuado contém as previsões que o modelo de recomendação gerou.
As colunas neste segundo conjunto de dados dependem do tipo de previsão que você executou durante o processo de pontuação. Por exemplo, o conjunto de dados pontuados pode conter um dos seguintes:
- Usuários, itens e as classificações que o usuário provavelmente daria para o item
- Uma lista de usuários e itens recomendados para eles
Métricas
As métricas de desempenho para o modelo são geradas com base no tipo de entrada. As secções seguintes fornecem pormenores.
Avaliar as classificações previstas
Quando você estiver avaliando as classificações previstas, o conjunto de dados de pontuação (a segunda entrada para Avaliar Recomendador) deve conter triplos de classificação de item do usuário que atendam a estes requisitos:
- A primeira coluna do conjunto de dados contém os identificadores de usuário.
- A segunda coluna contém os identificadores de item.
- A terceira coluna contém as classificações de item de usuário correspondentes.
Importante
Para que a avaliação seja bem-sucedida, os nomes das colunas devem ser User
, Item
e Rating
, respectivamente.
O Evaluate Recommender compara as classificações no conjunto de dados de "verdade básica" com as classificações previstas do conjunto de dados pontuados. Em seguida, calcula o erro absoluto médio (MAE) e o erro quadrático médio da raiz (RMSE).
Avaliar recomendações de itens
Ao avaliar recomendações de itens, use um conjunto de dados pontuado que inclua os itens recomendados para cada usuário:
- A primeira coluna do conjunto de dados deve conter o identificador do usuário.
- Todas as colunas subsequentes devem conter os identificadores de item recomendados correspondentes, ordenados pelo grau de relevância de um item para o usuário.
Antes de conectar esse conjunto de dados, recomendamos que você classifique o conjunto de dados para que os itens mais relevantes venham primeiro.
Importante
Para que Avaliar Recomendação funcione, os nomes das colunas devem ser User
, Item 1
, Item 2
Item 3
e assim por diante.
O Evaluate Recommender calcula o ganho acumulado descontado normalizado médio (NDCG) e o retorna no conjunto de dados de saída.
Como é impossível saber a "verdade básica" real para os itens recomendados, o Evaluate Recommender usa as classificações de item do usuário no conjunto de dados de teste como ganhos no cálculo do NDCG. Para avaliar, o componente de pontuação do recomendado deve produzir apenas recomendações para itens com classificações de "verdade básica" (no conjunto de dados do teste).
Próximos passos
Consulte o conjunto de componentes disponíveis para o Azure Machine Learning.