Avaliar Recomendador

Este artigo descreve como utilizar o componente Evaluate Recommender no estruturador do Azure Machine Learning. O objetivo é medir a precisão das predições que um modelo de recomendação fez. Ao utilizar este componente, pode avaliar diferentes tipos de recomendações:

  • Classificações previstas para um utilizador e um item
  • Itens recomendados para um utilizador

Quando cria predições com um modelo de recomendação, são devolvidos resultados ligeiramente diferentes para cada um destes tipos de predição suportados. O componente Evaluate Recommender deduz o tipo de predição a partir do formato de coluna do conjunto de dados com classificação. Por exemplo, o conjunto de dados classificado pode conter:

  • A classificação de item de utilizador triplica
  • Utilizadores e respetivos itens recomendados

O componente também aplica as métricas de desempenho adequadas, com base no tipo de predição que está a ser feita.

Como configurar o Avaliador Recomendador

O componente Evaluate Recommender compara a saída de predição com um modelo de recomendação com os dados correspondentes da "verdade básica". Por exemplo, o componente SVD Recommender de Classificação produz conjuntos de dados classificados que pode analisar com o Evaluate Recommender.

Requisitos

O Evaluate Recommender requer os seguintes conjuntos de dados como entrada.

Testar conjunto de dados

O conjunto de dados de teste contém os dados "ground truth" sob a forma de triplos de classificação de item de utilizador.

Conjunto de dados com classificação

O conjunto de dados classificado contém as predições que o modelo de recomendação gerou.

As colunas neste segundo conjunto de dados dependem do tipo de predição que realizou durante o processo de classificação. Por exemplo, o conjunto de dados classificado pode conter uma das seguintes opções:

  • Utilizadores, itens e as classificações que o utilizador provavelmente daria para o item
  • Uma lista de utilizadores e itens recomendados para os mesmos

Métricas

As métricas de desempenho do modelo são geradas com base no tipo de entrada. As secções seguintes fornecem detalhes.

Avaliar as classificações previstas

Quando estiver a avaliar as classificações previstas, o conjunto de dados classificado (a segunda entrada para Avaliar Recomendador) tem de conter triplos de classificação de item de utilizador que cumpram estes requisitos:

  • A primeira coluna do conjunto de dados contém os identificadores de utilizador.
  • A segunda coluna contém os identificadores de itens.
  • A terceira coluna contém as classificações de item de utilizador correspondentes.

Importante

Para que a avaliação seja bem-sucedida, os nomes das colunas têm de ser User, Iteme Rating, respetivamente.

Evaluate Recommender compara as classificações no conjunto de dados "ground truth" com as classificações previstas do conjunto de dados classificado. Em seguida, calcula o erro absoluto médio (MAE) e o erro quadrática médio de raiz (RMSE).

Avaliar recomendações de itens

Quando estiver a avaliar as recomendações de itens, utilize um conjunto de dados com classificação que inclua os itens recomendados para cada utilizador:

  • A primeira coluna do conjunto de dados tem de conter o identificador de utilizador.
  • Todas as colunas subsequentes devem conter os identificadores de itens recomendados correspondentes, ordenados pela relevância de um item para o utilizador.

Antes de ligar este conjunto de dados, recomendamos que ordene o conjunto de dados para que os itens mais relevantes fiquem em primeiro lugar.

Importante

Para o Evaluate Recommender funcionar, os nomes das colunas têm de ser User, Item 1, Item 2e Item 3 assim sucessivamente.

A evaluate Recommender calcula o ganho cumulativo com desconto normalizado médio (NDCG) e devolve-o no conjunto de dados de saída.

Uma vez que é impossível saber a verdadeira "verdade básica" para os itens recomendados, a Evaluate Recommender utiliza as classificações de item de utilizador no conjunto de dados de teste como ganhos na computação do NDCG. Para avaliar, o componente de classificação recomendador só tem de produzir recomendações para itens com classificações "ground truth" (no conjunto de dados de teste).

Passos seguintes

Veja o conjunto de componentes disponíveis para o Azure Machine Learning.