Avaliar o sistema de recomendação

Avaliar a precisão das previsões de modelo recomendadas

Categoria: Machine Learning/avaliar

Observação

Aplica-se a: Machine Learning Studio (clássico)

Esse conteúdo pertence apenas ao estúdio (clássico). Módulos de arrastar e soltar semelhantes foram adicionados ao designer de Azure Machine Learning. Saiba mais neste artigo comparando as duas versões.

Visão geral do módulo

Este artigo descreve como usar o módulo avaliar recomendador no Azure Machine Learning Studio (clássico) para medir a precisão das previsões feitas por um modelo de recomendação. Usando esse módulo, você pode avaliar quatro tipos diferentes de recomendações:

  • Classificações previstas para um determinado usuário e item

  • Itens recomendados para um determinado usuário

  • Uma lista de usuários encontrados a serem relacionados a um determinado usuário

  • Uma lista de itens encontrados para serem relacionados a um determinado item

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 com suporte. O módulo avaliar recomendador deduz o tipo de previsão do formato de coluna do conjunto de linha de DataSet. Por exemplo, o conjunto de marcação pode conter:

  • usuários-item-processamentos de classificação
  • usuários e seus itens recomendados
  • usuários e seus usuários relacionados
  • itens e seus itens relacionados

O módulo também aplica as métricas de desempenho apropriadas, com base no tipo de previsão que está sendo feita.

Dica

Saiba tudo o que você precisa saber sobre a experiência de ponta a ponta de criar um sistema de recomendação neste tutorial da equipe de desenvolvimento do .NET. Inclui o código de exemplo e a discussão de como chamar Azure Machine Learning de um aplicativo.

Criando o mecanismo de recomendação para aplicativos .NET usando Azure Machine Learning

Como configurar avaliar Recomendador

O módulo avaliar recomendador compara a saída de previsões por um modelo de recomendação com os dados de "terra terrestre" correspondentes. Por exemplo, o módulo de recomendação Matchbox de Pontuação produz conjuntos de linhas pontuados que podem ser analisados com o avaliar recomendador.

Requisitos

Avaliar recomendador requer os seguintes conjuntos de dados como entrada.

Conjunto de dados de teste

O conjunto de dados de teste contém o "princípio de verdade" na forma de processamentos de classificação de usuário-item.

Se você já tiver um conjunto de dados que contenha percursos de classificação de usuário-item, você poderá aplicar o módulo dividir data , usando a opção RecommenderSplit , para criar um conjunto de dado de treinamento e um conjunto de teste relacionado do conjunto de dados existente.

Conjunto de dados classificado

O conjunto de marcação contém as previsões que foram geradas pelo modelo de recomendação.

As colunas neste segundo conjunto de mesmos dependem do tipo de previsão que você estava executando durante a pontuação. Por exemplo, o conjunto de marcação pode conter qualquer 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
  • Uma lista de usuários, com usuários que provavelmente são semelhantes a eles
  • Uma lista de itens, junto com itens smiliar

Métricas

As métricas de desempenho para o modelo são geradas com base no tipo de entrada. Para obter detalhes, consulte estas seções:

Avaliar as classificações previstas

Ao avaliar as classificações previstas, o conjunto de dados pontuado (a segunda entrada para avaliar o recomendador) deve conter processamentos de classificação de usuário-item, atendendo a estes requisitos:

  • A primeira coluna do conjunto de um contém identificadores de usuário.

  • A segunda coluna contém os identificadores de item.

  • A terceira coluna contém as classificações de usuário-item correspondentes.

Importante

Para que a avaliação seja bem sucedida, os nomes das colunas devem ser User , Item e Rating , respectivamente.

Avaliar recomendador compara as classificações no conjunto de valores de início da verdade com as classificações previstas do conjunto de valores de Pontuação e computa o erro de média absoluta (Mae) e o erro ao quadrado da média raiz (RMSE).

Os outros parâmetros de Evaluate recomendador não têm efeito sobre a avaliação de previsões de classificação.

Avaliar recomendações de item

Ao avaliar a recomendação do item, use um conjunto de uma pontuação que inclua os itens recomendados para cada usuário:

  • A primeira coluna do conjunto de um deve conter o identificador de usuário.

  • Todas as colunas subsequentes devem conter os identificadores de item recomendados correspondentes, ordenados pelo quão relevante um item é para o usuário.

    Antes de conectar esse conjunto de resultados, recomendamos que você classifique o conjunto de resultados para que os itens mais relevantes sejam apresentados primeiro.

Os outros parâmetros de Evaluate recomendador não têm efeito sobre a avaliação de recomendações de item.

Importante

Para avaliar recomendador para funcionar, os nomes de coluna devem User ser Item 1 , Item 2 , Item 3 e assim por diante.

Avaliar recomendador computa o NDCG(lucro cumulativo médio normalizado) e o retorna no conjunto de saída.

Como é impossível saber a verdadeira "verdadeira verdade" para os itens recomendados, avaliar recomendador usa as classificações de item de usuário no conjunto de dados de teste como ganhos no cálculo do NDCG. Para avaliar, o módulo de pontuação de recomendador só deve produzir recomendações de itens com classificações verdadeira (no conjunto de dados de teste).

Ao avaliar previsões de usuários relacionados, use um conjunto de uma pontuação que contenha os usuários relacionados para cada usuário de seu interesse:

  • A primeira coluna deve conter os identificadores para cada usuário de seu interesse.

  • Todas as colunas subsequentes contêm os identificadores para os usuários relacionados previstos. Os usuários relacionados são ordenados pela força do realtionship (o usuário mais relacionado primeiro).

  • Para avaliar recomendador para funcionar, os nomes de coluna devem ser User , Related User 1 , Related User 2 , Related User 3 e assim por diante.

Dica

Você pode influenciar a avaliação definindo o número mínimo de itens que um usuário de seu interesse e seus usuários relacionados devem ter em comum.

Avaliar Recomendador computa a média normalizada de ganho cumulativo descontado (NDCG), com base em Manhattan (L1 Sim NDCG) e distância Euclidiana (L2 Sim NDCG) e retorna os valores do conjunto de dados de saída. Como não há nenhuma verdade real para os usuários relacionados, avaliar recomendador usa o procedimento a seguir para calcular a média de NDCGs.

Para cada usuário de seu interesse no conjunto de dados classificado:

  1. Localize todos os itens do conjunto de dados de teste que tenham sido classificados pelo usuário de seu interesse e o usuário relacionado em questão.

  2. Crie dois vetores a partir das classificações desses itens: um para o usuário de seu interesse e outro para o usuário relacionado em questão.

  3. Compute o ganho conforme a semelhança dos vetores de duas classificações resultantes, em termos de Manhattan (L1) ou distância Euclidiana (L2).

  4. Compute o L1 Sim NDCG e o L2 Sim NDCG, usando os ganhos de todos os usuários relacionados.

  5. Média dos valores de NDCG em todos os usuários no conjunto de valores de pontuação.

Em outras palavras, o ganho é calculado como a similaridade (distâncias Manhattan ou euclidiana normalizadas) entre um usuário de interesse (a entrada na primeira coluna do conjunto de dados pontuado) e um determinado usuário relacionado (a entrada na coluna n-ésimo do conjunto de dados classificado). O lucro desse par de usuários é calculado usando todos os itens para os quais ambos os itens foram classificados nos dados originais (conjunto de teste). O NDCG é então computado agregando os ganhos individuais para um único usuário de interesse e todos os usuários relacionados, usando a descontação logarítmica. Ou seja, um valor de NDCG é calculado para cada usuário de interesse (cada linha no conjunto de valores de pontuação). O número que é finalmente relatado é a média aritmética sobre todos os usuários de interesse no conjunto de dado classificado (ou seja, suas linhas).

Portanto, para avaliar, o módulo de pontuação de recomendador deve prever apenas usuários relacionados com itens com classificações verdadeiras (no conjunto de dados de teste).

Ao avaliar a previsão de itens relacionados, use um conjunto de uma pontuação que contenha os itens relacionados para cada item de interesse:

  • A primeira coluna deve conter identificadores para os itens de interesse.

  • Todas as colunas subsequentes devem conter identificadores para os itens relacionados previstos, ordenados por como eles se relacionam ao item de interesse (o item mais relacionado primeiro).

  • Para avaliar recomendador para funcionar, os nomes de coluna devem ser Item , Related Item 1 , Related Item 2 , Related Item 3 e assim por diante.

Dica

Você pode influenciar a avaliação definindo o número mínimo de usuários que um item de seu interesse e seus itens relacionados devem ter em comum.

Avaliar recomendador computa o NDCG(lucro cumulativo médio normalizado) com base em Manhattan (L1 Sim NDCG) e euclidiana (L2 Sim NDCG) e retorna os valores no conjunto de resultados de saída. Como não há nenhuma verdade real para os itens relacionados, avaliar recomendador computa o NDCGs médio da seguinte maneira:

Para cada item de interesse no conjunto de dados classificado:

  1. Localize todos os usuários do conjunto de dados de teste que avaliaram o item de interesse e o item relacionado em questão.

  2. Crie dois vetores das classificações desses usuários, um para o item de interesse e para o item relacionado em questão.

  3. Compute o ganho conforme a semelhança dos vetores de duas classificações resultantes, em termos de Manhattan (L1) ou distância Euclidiana (L2).

  4. Compute o L1 Sim NDCG e o L2 Sim NDCG usando os ganhos de todos os itens relacionados.

  5. Média dos valores de NDCG em todos os itens de interesse no conjunto de valores de pontuação.

Em outras palavras, o ganho é calculado como a similaridade (distâncias Manhattan ou euclidiana normalizadas) entre um item de interesse (a entrada na primeira coluna do conjunto de dados classificado) e um determinado item relacionado (a entrada na coluna n-ésimo do conjunto de dados classificado). O lucro deste par de itens é calculado usando todos os usuários que classificaram esses dois itens nos dados originais (conjunto de teste). O NDCG é então computado agregando os ganhos individuais para um único item de interesse e todos os seus itens relacionados, usando a descontação logarítmica. Ou seja, um valor de NDCG é calculado para cada item de interesse (cada linha no conjunto de valores de pontuação). O número que é finalmente relatado é a média aritmética sobre todos os itens de interesse no conjunto de dado classificado (ou seja, suas linhas).

Portanto, para avaliar, o módulo de Pontuação de recomendação deve prever apenas itens relacionados com classificações de verdade de terra (no conjunto de testes).

Exemplos

Para obter exemplos de como os modelos de recomendação são usados no Azure Machine Learning, consulte a Galeria de ia do Azure:

Entradas esperadas

Nome Type Descrição
Conjunto de dados de teste Tabela de Dados Conjunto de dados de teste
Conjunto de dados classificado Tabela de Dados Conjunto de dados classificado

Parâmetros do módulo

Nome Intervalo Type Padrão Descrição
Número mínimo de itens que o usuário da consulta e o usuário relacionado devem ter classificação em comum >= 1 Inteiro 2 Especifique o número mínimo de itens que devem ter sido classificados pelo usuário da consulta e pelo usuário relacionado

Esse parâmetro é opcional
Número mínimo de usuários que o item da consulta e o item relacionado devem ter sido classificados em comum >= 1 Inteiro 2 Especifique o número mínimo de usuários que devem ter classificado o item de consulta e o item relacionado

Esse parâmetro é opcional

Saídas

Nome Type Descrição
Métrica Tabela de Dados Uma tabela de métricas de avaliação

Exceções

Exceção Descrição
Erro 0022 Ocorrerá uma exceção se o número de colunas selecionadas no conjunto de dados de entrada não for igual ao número esperado.
Erro 0003 Ocorrerá uma exceção se uma ou mais das entradas for nula ou estiver vazia.
Erro 0017 Ocorrerá uma exceção se uma ou mais das colunas especificadas tiver um tipo sem suporte por módulo atual.
Erro 0034 Ocorrerá uma exceção se houver mais de uma classificação para um determinado par usuário-item.
Erro 0018 Ocorrerá uma exceção se o conjunto de dados de entrada não for válido.
Erro 0002 Ocorrerá uma exceção se um ou mais parâmetros não puder ser analisado ou convertido do tipo especificado no exigido pelo tipo de método de destino.

Para obter uma lista de erros específicos para módulos do Studio (clássicos), consulte Machine Learning códigos de erro.

Para obter uma lista de exceções de API, consulte Machine Learning códigos de erro da API REST.

Veja também

Treinar Recomendador Matchbox
Classificar recomendador Matchbox