LP&D Data Science Challenge Laboratório de Pesquisa e Desenvolvimento - LP&D Hugo Luiz Camargo Pinto
Sumário O Problema Base de Dados Feature Engineering Leaderboard
O Problema
LP&D Data Science Challenge Recomendação de músicas para usuários
LP&D Data Science Challenge Recomendação de músicas para usuários
Data Science Game Recomendação de músicas para usuários (Deezer) Prever se um usuário aprovou ou não uma recomendação do aplicativo Classificação binária Área sobre a curva ROC (AUC)
Base de Dados
Base de dados Contém informações sobre 19918 usuários
Base de dados Contém informações sobre 19918 usuários Além de mais de 400.000 músicas já ouvidas por eles.
Base de dados Contém informações sobre 19918 usuários Além de mais de 400.000 músicas já ouvidas por eles. Quatorze (14) features disponíveis
Features Disponíveis media_id - identifiant of the song listened by the user album_id - identifiant of the album of the song media_duration - duration of the song user_gender - gender of the user user_id - anonymized id of the user context_type - type of content where the song was listened: playlist, album... release_date - release date of the song with the format YYYYMMDD
Features Disponíveis media_id - identifiant of the song listened by the user album_id - identifiant of the album of the song media_duration - duration of the song user_gender - gender of the user user_id - anonymized id of the user context_type - type of content where the song was listened: playlist, album... release_date - release date of the song with the format YYYYMMDD ts_listen - timestamp of the listening in UNIX time platform_name - type of os platform_family - type of device user_age - age of the user listen_type - if the songs was listened in a flow or not artist_id - identifiant of the artist of the song genre_id - identifiant of the genre of the song is_listened - 1 if the track was listened, 0 otherwise
Train / Test Previamente dividida em treino e teste.
Train / Test Previamente dividida em treino e teste. Train
Train / Test Previamente dividida em treino e teste. Train
Train / Test Previamente dividida em treino e teste. Train
Train / Test Previamente dividida em treino e teste. Train
Train / Test Previamente dividida em treino e teste. Train Test
Train / Test Previamente dividida em treino e teste. Train Test
Train / Test Previamente dividida em treino e teste. Train Test
Train / Test Previamente dividida em treino e teste. Train Test
Arquivo de submissão
Arquivo de submissão Test
Arquivo de submissão Probabilidade para cada amostra do test
Kaggle.com https://inclass.kaggle.com/c/usp-2017
Kaggle.com https://inclass.kaggle.com/c/usp-2017
Kaggle.com
Train / Test Aproximadamente 7,5m amostras disponíveis para treinamento Contando com usuários repetidos centenas de vezes, mas com diferentes características 19666 usuários únicos
Train / Test Aproximadamente 7,5m amostras disponíveis para treinamento Contando com usuários repetidos centenas de vezes, mas com diferentes características 19666 usuários únicos 19918 amostras para testar Como tratar os usuários nunca antes vistos ou pouco frequentes?
Train / Test Aproximadamente 7,5m amostras disponíveis para treinamento Contando com usuários repetidos centenas de vezes, mas com diferentes características 19666 usuários únicos 19918 amostras para testar Como tratar os usuários nunca antes vistos ou pouco frequentes?
Train / Test Aproximadamente 7,5m amostras disponíveis para treinamento Contando com usuários repetidos centenas de vezes, mas com diferentes características 19666 usuários únicos 19918 amostras para testar Como tratar os usuários nunca antes vistos ou pouco frequentes? Como abordar as diversas features IDs contidas na base?
Train / Test (ts_listen)
Feature Engineering / Leaderboard
Primeira Abordagem Verificar performance do XGBoost na base Apenas features básicas e sem otimização de parâmetros
Primeira Abordagem Verificar performance do XGBoost na base Apenas features básicas e sem otimização de parâmetros Cross-Validation - AUC ~0.69
Primeira Abordagem Verificar performance do XGBoost na base Apenas features básicas e sem otimização de parâmetros Cross-Validation - AUC ~0.69
Próximos Passos Gerar percentuais de aceitação de recomendações, dado user_id, genre_id...
Próximos Passos Gerar percentuais de aceitação de recomendações, dado user_id, genre_id...
Próximos Passos Gerar percentuais de aceitação de recomendações, dado user_id, genre_id...
Próximos Passos Features para verificar se uma música é popular atualmente
Próximos Passos Features para verificar se uma música é popular atualmente
Próximos Passos Pré processamento da data de lançamento da música, release_date
Leaderboard Features percentuais Feature ano_de_lançamento Cross-Validation - AUC ~0.81
Leaderboard Features percentuais Feature ano_de_lançamento Cross-Validation - AUC ~0.81
Features percentuais - Pontos negativos Mentem sobre usuários que se repetem poucas vezes na base de dados. O mesmo vale para as outras características percentuais Confusão na IA
Features de somatórios Features para auxiliar os percentuais já levantados user_total
Features de somatórios Features para auxiliar os percentuais já levantados media_total
Leaderboard Features percentuais & somatórios Cross-Validation - AUC ~0,80
Leaderboard Features percentuais & somatórios Cross-Validation - AUC ~0,80
Usuários pouco frequentes na base de dados
Usuários pouco frequentes na base de dados Como tratar os usuários nunca antes vistos ou pouco frequentes?
Usuários pouco frequentes na base de dados Possível solução: *média*
Usuários pouco frequentes na base de dados Possível solução: *média*
Usuários pouco frequentes na base de dados Possível solução: *média*
Leaderboard Solução no LB com AUC ~0.62424
Problemas com validação AUC na cross-validação não reflete os resultados no Leaderboard De que forma validar o modelo sem a necessidade de submeter?
Features temporais Levar consideração o timestamp (ts_listen) para gerar features Gerar características apenas em relação ao passado
Features temporais Levar consideração o timestamp (ts_listen) para gerar features Gerar características apenas em relação ao passado Qual a relevância???
Features temporais Last Half Hour
Features temporais Last Hour
Ensemble Classificadores completamente descorrelacionados Tanto em termos de algoritmos de aprendizado Quanto nas features utilizadas para gerar a solução
Próximos Passos
Próximos Passos Qual a melhor opção para combinar soluções?
Próximos Passos Qual a melhor opção para combinar soluções? As melhores no Leaderboard ou as mais descorrelacionadas?
Próximos Passos Qual a melhor opção para combinar soluções? As melhores no Leaderboard ou as mais descorrelacionadas? Existe alguma feature mágica?
Hugo Pinto kaggle.com/huguera10 hugo.pinto@bcc.unifal-mg.edu.br