Construa um modelo amplo e profundo em um sistema de recomendação
Usando Notebook de exemplo, este artigo orienta você na construção de um sistema de recomendação com um modelo amplo e profundo. A construção de um pipeline machine learning de um sistema de recomendação amplo e profundo envolve os estágios mostrados neste diagrama:
Esta referência soluções abrange as passos indicadas a azul:
Modelo de treinamento e avaliação
Exportação de modelos e gerenciamento de versões
inferência do modelo de lotes
Serviço de modelo online
Para obter informações sobre as passos não abordadas, consulte passos do projeto não abordadas.
O que é um modelo largo e profundo?
Uma escolha eficaz para um sistema de recomendação, um modelo amplo e profundo combina um modelo linear com as capacidades de um modelo de aprendizagem profunda. O modelo linear analisa dados históricos relacionados às escolhas do cliente, enquanto as capacidades de aprendizagem profunda se generalizam para estender as escolhas de recomendações relevantes.
Para saber mais, consulte este artigo acadêmico: Wide & aprendizagem profunda para Sistemas de Recomendação.
Destaques das ferramentas Databricks
O Notebook abrange várias ferramentas fornecidas no Databricks que simplificam a criação de um pipeline machine learning :
Notebook descrevendo o conjunto de dados do usuário
O dataset usado neste Notebook consiste nas seguintes tabelas Delta:
user_profile
: contém os valoresuser_id
e seus perfis estáticositem_profile
: contém os valoresitem_id
e seus perfis estáticosuser_item_interaction
: contém eventos em que um usuário interage com um item. Essa tabela é dividida aleatoriamente em três tabelas Delta para construir e avaliar o modelo:train
,validation
etest
.
Esse formato de dados é comum para problemas de recomendação. Alguns exemplos são:
Para os recomendadores de anúncios, os itens são anúncios e as interações usuário-item são registros de usuários que clicaram nos anúncios.
Para os recomendadores de compras online, os itens são produtos e as interações usuário-item são registros de avaliações de usuários ou histórico de pedidos.
Ao adaptar este Notebook ao seu dataset, você só precisa salvar seus dados nas tabelas Delta e fornecer os nomes e locais das tabelas. O código para carregar dados pode ser reutilizado na maior parte.
Consulte o Notebook de geração dataset para obter detalhes.
Exemplo Notebook : modelo amplo e profundo
Um modelo amplo e profundo combina um modelo linear amplo com uma rede neural profunda para lidar com a memorização e a generalização necessárias para boas recomendações.
Este modelo é apenas um exemplo entre muitos modelos de aprendizagem profunda para o problema de recomendação ou para qualquer pipeline machine learning em geral. O foco aqui é mostrar como construir o fluxo de trabalho. Você pode swap modelos diferentes para seu próprio caso de uso e ajustar o modelo para melhores métricas de avaliação.
passos do projeto não contempladas
Para manter o Notebook focado em mostrar como implementar um sistema de recomendação, os seguintes estágios não são cobertos. Esses estágios são mostrados como blocos cinzas no diagrama de fluxo de trabalho.
Recolha de dados e análise exploratória de dados. Veja a execução de sua primeira carga de trabalho ETL no Databricks.
Engenharia de recursos. A engenharia de características é uma parte importante de um sistema de recomendação, e muita informação está disponível sobre este tópico. Este Notebook supõe que você tenha um dataset com curadoria contendo interações usuário-item. Para obter detalhes sobre o dataset usado neste notebook, consulte Notebook que descreve datasetdo usuário. Para obter mais informações sobre engenharia de recursos, consulte os seguintes recursos:
O Notebook Databricks soluções Aceleradores Personalizando a Experiência do Cliente com Recomendações mostra exemplos de engenharia de funcionalidades em um sistema de recomendação.
Dados de pré-processamento para machine learning e aprendizagem profunda para exemplos de engenharia de recursos com Scikit-Learn, MLlib e aprendizado de transferência.
Afinação do modelo. O ajuste do modelo envolve revisar o código do pipeline existente, incluindo engenharia de recursos, estrutura do modelo, hiperparâmetros do modelo ou até mesmo atualizar o estágio de coleta de dados para melhorar o desempenho do modelo. Para obter mais informações sobre ferramentas para ajuste de modelo em Databricks, consulte ajuste de hiperparâmetros.