Avaliar o sistema de recomendação

Importante

O suporte para o Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. É recomendável fazer a transição para o Azure Machine Learning até essa data.

A partir de 1º de dezembro de 2021, você não poderá criar recursos do Machine Learning Studio (clássico). Até 31 de agosto de 2024, você pode continuar usando os recursos existentes do Machine Learning Studio (clássico).

A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.

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

Categoria: Machine Learning/Avaliar

Observação

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

Módulos semelhantes do tipo "arrastar e soltar" estão disponíveis no designer do Azure Machine Learning.

Visão geral do módulo

Este artigo descreve como usar o módulo Avaliar Recomendação no Machine Learning Studio (clássico) para medir a precisão das previsões feitas por um modelo de recomendação. Usando este 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 Recomendação deduzi o tipo de previsão do formato de coluna do conjuntos de dados pontuado. Por exemplo, o conjuntos de dados pontuados pode conter:

  • user-item-rating triples
  • 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 código de exemplo e discussão sobre como chamar Machine Learning de um aplicativo.

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

Como configurar o módulo Avaliar o sistema de recomendação

O módulo Avaliar Recomendação compara a saída das previsões por um modelo de recomendação com os dados correspondentes de "verdade de terra". Por exemplo, o módulo Recomendação de Caixa de Pontuação produz conjuntos de dados pontuados que podem ser analisados com Avaliar Recomendação.

Requisitos

O Evaluate Recommender 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 classificação de item de usuário triplos.

Se você já tiver um conjunto de dados que contém os triplos de classificação de item de usuário, poderá aplicar o módulo Dividir Dados, usando a opção RecommenderSplit, para criar um conjunto de dados de treinamento e um conjunto de testes relacionado do conjunto de dados existente.

Conjunto de dados classificado

O conjuntos de dados pontuados contém as previsões que foram geradas pelo modelo de recomendação.

As colunas neste segundo conjuntos de dados dependem do tipo de previsão que você estava executando durante a pontuação. Por exemplo, o conjuntos de dados pontuados pode conter qualquer um dos seguintes:

  • Usuários, itens e as classificações que o usuário provavelmente dará 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 de smiliar

Métricas

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 Recomendador ) deve conter três triplos de classificação de item de usuário, a fim de atender a estes requisitos:

  • A primeira coluna do conjuntos de dados contém identificadores de usuário.

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

  • 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.

Evaluate Recommender compara as classificações no conjuntos de dados de verdade do solo com as classificações previstas do conjuntos de dados pontuados e calcula o ERRO ABSOLUTO (MÉDIA ABSOLUTA) e o RMSE (erro quadrado média raiz).

Os outros parâmetros de Avaliar Recomendação não têm nenhum efeito na avaliação de previsões de classificação.

Avaliar recomendações de item

Ao avaliar a recomendação de item, use um conjuntos de dados pontuados que inclua os itens recomendados para cada usuário:

  • A primeira coluna do conjunto de dados deve conter os identificadores de usuário.

  • Todas as colunas subsequentes devem conter identificadores de item recomendados correspondentes, ordenados pela relevância do item para o usuário.

    Antes de conectar esse conjuntos de dados, é recomendável classificar o conjuntos de dados para que os itens mais relevantes venha primeiro.

Os outros parâmetros de Avaliar Recomendação não têm nenhum efeito na avaliação das recomendações de item.

Importante

Para que Avaliar o Recomendador funcione, os nomes de coluna devem ser User, Item 1, Item 2e Item 3 assim por diante.

O Evaluate Recommender calcula o NDCG (ganho cumulativo com desconto médio) normalizado e o retorna no conjuntos de dados de saída.

Como é impossível saber a "verdade básica" real para os itens recomendados , Avaliar Recomendação usa as classificações de item de usuário no conjuntos de dados de teste como ganhos na computação 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).

Avaliar previsões de usuários relacionados

Ao avaliar previsões de usuários relacionados, use um conjuntos de dados pontuados que contenha os usuários relacionados para cada usuário de interesse:

  • A primeira coluna deve conter os identificadores de cada usuário de 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 da realidade (o usuário mais relacionado primeiro).

  • Para que Avaliar o Recomendador funcione, os nomes de coluna devem ser User, Related User 1, Related User 2, Related User 3e 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 de base real para os usuários relacionados, o Evaluate Recommender 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 com base nas classificações desses itens: um para o usuário de interesse e outro para o usuário relacionado em consideraçã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 relação a todos os usuários no conjuntos de dados pontuados.

Em outras palavras, o ganho é calculado como a similaridade (distâncias normalizadas de East Ou Euclidiana) entre um usuário de interesse (a entrada na primeira coluna do conjuntos de dados pontuado) e um determinado usuário relacionado (a entrada na n-a coluna do conjuntos de dados pontuado). O ganho 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 é calculado agregando os ganhos individuais para um único usuário de interesse e todos os usuários relacionados, usando desconto logarítmico. Ou seja, um valor NDCG é calculado para cada usuário de interesse (cada linha no conjuntos de dados pontuado). O número que é finalmente relatado é a média aritmética sobre todos os usuários de interesse no conjuntos de dados pontuados (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).

Avaliar previsões de itens relacionados

Ao avaliar a previsão de itens relacionados, use um conjuntos de dados pontuados 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 pelo quanto estão relacionados ao item de interesse (item mais relacionado primeiro).

  • Para que Avaliar o Recomendador funcione, os nomes de coluna devem ser Item, Related Item 1, Related Item 2, Related Item 3e 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.

Evaluate Recommender calcula a média de NDCG (ganho cumulativo com desconto normalizado) com base nas distâncias de York (L1 Sim NDCG) e Euclidiano (L2 Sim NDCG) e retorna os dois valores no conjuntos de dados de saída. Como não há nenhuma verdade básica real para os itens relacionados, Avaliar Recomendador calcula a média de NDCGs 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 sobre todos os itens de interesse no conjuntos de dados pontuados.

Em outras palavras, o ganho é calculado como a similaridade (distâncias normalizadas de York ou Euclidiana) entre um item de interesse (a entrada na primeira coluna do conjuntos de dados pontuado) e um determinado item relacionado (a entrada na n-a coluna do conjuntos de dados pontuado). O ganho desse par de itens é calculado usando todos os usuários que classificaram ambos os itens nos dados originais (conjunto de teste). O NDCG é calculado agregando os ganhos individuais para um único item de interesse e todos os seus itens relacionados, usando desconto logarítmico. Ou seja, um valor NDCG é calculado para cada item de interesse (cada linha no conjuntos de dados pontuado). O número que é finalmente relatado é a média aritmética sobre todos os itens de interesse no conjuntos de dados pontuados (ou seja, suas linhas).

Portanto, para avaliar, o módulo de pontuação do recomendador só deve prever itens relacionados com classificações de verdade no chão (no conjuntos de dados de teste).

Exemplos

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

Entradas esperadas

Nome Tipo 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 Integer 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 Integer 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 Tipo 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 ver uma lista de erros específicos dos módulos do Studio (clássico), consulte Machine Learning Códigos de erro.

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

Confira também

Treinar recomendador Matchbox
Classificar recomendador Matchbox