Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Saiba como treinar um modelo de recomendação usando o Model Builder para recomendar filmes.
Neste tutorial, você:
- Preparar e compreender os dados
- Criar um arquivo de configuração do Model Builder
- Escolha um cenário
- Carregar os dados
- Treinar o modelo
- Avaliar o modelo
- Consumir o modelo
Pré-requisitos
Para obter uma lista de pré-requisitos e instruções de instalação, visite o guia de instalação do Construtor de Modelo.
Criar uma Biblioteca de Classes C#
Criar uma Biblioteca de Classes C# chamada "MovieRecommender".
Preparar e compreender os dados
Há várias maneiras de abordar problemas de recomendação, como recomendar uma lista de filmes ou uma lista de produtos relacionados, mas, nesse caso, você preverá qual classificação (1 a 5) um usuário dará a um filme específico e recomendará esse filme se ele for superior a um limite definido (quanto maior a classificação, maior a probabilidade de um usuário gostar de um filme específico).
Clique com o botão direito do mouse em recommendation-ratings-train.csv e selecione "Salvar Link (ou Destino) como..."
Cada linha no conjunto de dados contém informações sobre uma classificação de filme.
userId | movieId | classificação | timestamp |
---|---|---|---|
1 | 1 | 4 | 964982703 |
- userId: a ID do usuário
- movieId: a ID do filme
- rating: a classificação que o usuário deu ao filme
- timestamp: o carimbo de data/hora de quando a revisão foi feita
Criar um arquivo de configuração do Model Builder
Ao adicionar primeiro o Model Builder à solução, ele solicitará que você crie um arquivo mbconfig
. O arquivo mbconfig
controla tudo o que você faz no Model Builder para permitir que você reabra a sessão.
- No Gerenciador de Soluções, clique com o botão direito do mouse no projeto MovieRecommender e selecione Adicionar > Modelo de Machine Learning….
- Na caixa de diálogo, nomeie o projeto do Model Builder como MovieRecommender e clique em Adicionar.
Escolha um cenário
Para treinar seu modelo, você precisa selecionar na lista de cenários disponíveis de aprendizado de máquina fornecidos pelo Construtor de Modelo.
Para este exemplo, a tarefa é uma recomendação. Na etapa de cenário do Model Builder, selecione cenário Recomendação.
Selecionar um ambiente
O Model Builder pode executar o treinamento em ambientes diferentes, dependendo do cenário selecionado.
Selecione Local como o ambiente e clique no botão Próxima etapa.
Carregar os dados
- Na etapa de dados da ferramenta Model Builder, selecione o botão ao lado da caixa de texto Selecionar uma pasta.
- Use o Explorador de Arquivos para navegar e selecionar o arquivo baixado – recommendation-ratings-train.csv.
- Selecione o botão Próxima etapa para passar para a próxima etapa na ferramenta Model Builder.
- Depois que os dados forem carregados, na lista suspensa Coluna a ser prevista, selecione Classificação.
- Na lista suspensa da coluna Usuário, selecione userId.
- Na lista suspensa da coluna Item, selecione movieId.
Treinar o modelo
O algoritmo de aprendizado de máquina usado para treinar o modelo de recomendação é a Fatoração de Matriz. Durante o processo de treinamento de modelo, o Model Builder usa configurações diferentes para o algoritmo, para localizar o modelo com melhor desempenho para o conjunto de dados.
O tempo necessário para treinar o modelo é proporcional ao volume de dados. O Model Builder seleciona automaticamente um valor padrão para Tempo de treinamento (segundos) com base no tamanho da fonte de dados.
- O Model Builder define o valor de Tempo de treinamento (segundos) como 60 segundos. O treinamento por um período maior permite que o Model Builder explore um número maior de algoritmos e uma combinação de parâmetros em busca do melhor modelo.
- Clique em Iniciar Treinamento.
Durante o processo de treinamento, os dados de progresso são exibidos na seção Training results
da etapa de treinamento.
- O status exibe o status de conclusão do processo de treinamento.
- A melhor qualidade do R Quadrado do modelo de melhor desempenho encontrado pelo Model Builder até o momento. O menor R Quadrado significa que o modelo previu mais corretamente nos dados de teste.
- O melhor algoritmo exibe o nome do algoritmo executado com melhor desempenho que foi encontrado pelo Model Builder até o momento.
- O último algoritmo exibe o nome do algoritmo usado mais recentemente pelo Model Builder para treinar o modelo.
Depois que o treinamento for concluído, o arquivo mbconfig
terá o modelo gerado chamado MovieRecommender.zip
após o treinamento e dois arquivos C# com ele:
- MovieRecommender.consumption.cs: esse arquivo tem um método público
Predict
, que carrega o modelo e cria um PredictionEngine para fazer previsões. PredictionEngine é uma API de conveniência para fazer previsões em uma única instância de dados. - MovieRecommender.training.cs: esse arquivo consiste no pipeline de treinamento que o Model Builder criou para compilar o melhor modelo, incluindo os hiperparâmetros usados.
Clique no botão Próxima etapa para ir para a etapa de avaliação.
Avaliar o modelo
O resultado da etapa de treinamento será um modelo que tinha o melhor desempenho. Na etapa de avaliação da ferramenta Model Builder, na seção Melhor modelo, conterá o algoritmo usado pelo modelo com melhor desempenho na entrada Modelo junto com as métricas para esse modelo no RSquared.
Além disso, na Janela de Saída do Visual Studio, haverá uma tabela de resumo contendo os principais modelos e as respectivas métricas.
Nesta seção, você também pode testar o modelo executando uma única previsão. Ela fornece caixas de texto para os valores de entrada de cada uma das colunas de recursos e você pode selecionar o botão Prever, para obter uma previsão usando o melhor modelo. Por padrão, ela será preenchida pela primeira linha no conjunto de dados.
(Opcional) Consumir o modelo
Esta etapa terá modelos de projeto que você poderá usar para consumir o modelo. Ela é opcional, e você pode escolher o método que melhor atende às suas necessidades sobre como fornecer o modelo.
- Aplicativo de Console
- API Web
Aplicativo de Console
Ao adicionar um aplicativo de console à sua solução, você precisará nomear o projeto.
Selecione Adicionar à solução para o modelo de console.
Nomeie o projeto do console MovieRecommender_Console.
Clique em Adicionar à solução para adicionar o projeto à solução atual.
Executar o aplicativo.
A saída gerada pelo programa deve ser semelhante ao snippet a seguir:
UserId: 1 MovieId: 1 Rating: 4 Predicted Rating: 4.577113
API Web
Ao adicionar uma API Web à sua solução, você precisará nomear o projeto.
Selecione Adicionar à solução para o modelo de API Web.
Nomeie o projeto da API Web MovieRecommender_WebApi.
Clique em Adicionar à solução* para adicionar o projeto à solução atual.
Executar o aplicativo.
Abra o PowerShell e insira o código a seguir, em que PORT é a porta que o seu aplicativo escuta.
$body = @{ UserId=1.0 MovieId=1.0 } Invoke-RestMethod "https://localhost:<PORT>/predict" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"
Se houver sucesso, a saída será semelhante ao texto abaixo. A saída da pontuação será a classificação prevista para a ID do usuário solicitada e a ID do filme.
score ----- 4.577113
Parabéns! Você criou com sucesso um modelo de machine learning para categorizar o risco de violações de condições sanitárias usando o Model Builder. Encontre o código-fonte deste tutorial no repositório dotnet/machinelearning-samples do GitHub.
Recursos adicionais
Para saber mais sobre os tópicos mencionados neste tutorial, visite os seguintes recursos: