S34L02 – Preparando os dados

html

Construindo um Sistema de Recomendação Usando o Conjunto de Dados Book Crossing

Índice

  1. 1. Selecionando o Conjunto de Dados
  2. 2. Compreendendo a Estrutura do Conjunto de Dados
  3. 3. Preparação e Exploração dos Dados
  4. 4. Manipulação dos Dados de Avaliações
  5. 5. Visualizando a Distribuição das Avaliações
  6. 6. Preparando-se para o Sistema de Recomendação
  7. 7. Abordando Desafios dos Dados
  8. 8. Próximos Passos
  9. Conclusão

Bem-vindos de volta, amigos! Neste guia, vamos nos aprofundar na construção de um sistema de recomendação, delineando os passos essenciais envolvidos. Para agilizar nosso processo, alguns passos preliminares já estão cobertos, permitindo que nos concentremos nos aspectos principais da construção do sistema.

1. Selecionando o Conjunto de Dados

Para o nosso sistema de recomendação, utilizaremos o Conjunto de Dados Book Crossing, uma coleção abrangente adaptada para recomendações de livros. Enquanto o conjunto de dados Movie Lens é popular e fácil de usar—frequentemente apresentado em tutoriais em plataformas como o YouTube—escolhemos um conjunto de dados mais intrincado para proporcionar uma compreensão mais profunda dos sistemas de recomendação.

Acesso ao Conjunto de Dados:

  • Conjunto de Dados Book Crossing: Link para o Conjunto de Dados *(Certifique-se de substituir este pelo link real)*
  • Formato: Disponível como dump SQL ou arquivos CSV. Para nossos propósitos, usaremos o formato CSV.

Após baixar os arquivos CSV, você encontrará três arquivos principais:

  • Books: Aproximadamente 75 MB
  • Users: Aproximadamente 30 MB
  • Ratings: Aproximadamente 12 MB

Dado o tamanho do conjunto de dados, manipulá-lo de forma eficiente é crucial, mas seus dados ricos o tornam inestimável para a construção de um sistema de recomendação robusto.

2. Compreendendo a Estrutura do Conjunto de Dados

Arquivo Books:

  • Campos: ISBN, Título do Livro, Autor, Ano de Publicação, Editora, URLs de Imagem, etc.
  • Identificador Principal: ISBN (Número Padrão Internacional de Livro) serve como o identificador único para cada livro, garantindo que não haja duplicatas.

Arquivo Users:

  • Campos: ID do Usuário, Localização, Idade
  • Identificador Principal: ID do Usuário identifica unicamente cada usuário.

Arquivo Ratings (BX Book Rating):

  • Campos: ID do Usuário, ISBN, Avaliação do Livro
  • Importância: Este arquivo vincula usuários aos livros que eles avaliaram, formando a espinha dorsal do nosso sistema de recomendação.

3. Preparação e Exploração dos Dados

Utilizaremos Pandas e NumPy para manipulação de dados e Matplotlib's Pyplot para visualização.

Carregando os Dados:

Explorando os Dados:

  • Books: Contém informações detalhadas sobre cada livro, com ISBN como identificador único.
  • Users: Contém dados demográficos dos usuários.
  • Ratings: Mapeia usuários para os livros que eles avaliaram, juntamente com as pontuações de avaliação.

4. Manipulação dos Dados de Avaliações

O conjunto de dados Ratings é fundamental, pois conecta os usuários às suas preferências de livros. No entanto, tanto ID do Usuário quanto ISBN não são chaves únicas neste arquivo, o que significa:

  • Um usuário pode avaliar vários livros.
  • Um livro pode ser avaliado por múltiplos usuários.

Calculando Avaliações Médias:

Para entender a recepção geral de cada livro, vamos calcular a avaliação média.

5. Visualizando a Distribuição das Avaliações

Compreender a distribuição das avaliações ajuda a identificar potenciais vieses ou problemas de esparsidade de dados.

Insights:

  • Assimetria dos Dados: Um grande número de livros foi avaliado por muito poucos usuários, enquanto alguns poucos acumularam milhares de avaliações.
  • Implicações: Este desequilíbrio pode afetar o desempenho do sistema de recomendação, levando a recomendações que favorecem livros populares.

6. Preparando-se para o Sistema de Recomendação

Antes de construir o sistema de recomendação, é essencial criar uma tabela dinâmica que estrutura os dados de forma apropriada, tipicamente com usuários como linhas, livros como colunas e avaliações como valores.

Criando uma Tabela Dinâmica:

7. Abordando Desafios dos Dados

  • Esparsidade: Com muitos livros tendo poucas avaliações, é vital implementar técnicas que possam lidar ou mitigar a esparsidade, como a fatoração de matriz.
  • Problema de Arranque Frio: Para novos usuários ou livros sem avaliações, estratégias como filtragem baseada em conteúdo ou aproveitamento de dados demográficos dos usuários podem ser benéficas.

8. Próximos Passos

Em tutoriais subsequentes, exploraremos a construção da tabela dinâmica em detalhe, aplicando técnicas de filtragem colaborativa e otimizando o sistema de recomendação para lidar efetivamente com as complexidades do conjunto de dados.


Conclusão

Construir um sistema de recomendação usando o Conjunto de Dados Book Crossing oferece uma experiência de aprendizado abrangente, destacando as complexidades de lidar com conjuntos de dados grandes e do mundo real. Ao compreender a estrutura dos dados, abordar desafios como a esparsidade e preparar os dados de forma metódica, você estabelece uma base sólida para criar um sistema de recomendação eficaz e confiável.

Feliz codificação!

Partilhe o seu amor