Équipe : Etalons AI
🥈 2ème place internationale | Score : User-Based ROC AUC = 0.623
Les plateformes sociales modernes s'appuient sur des infrastructures intelligentes capables d'identifier les contenus les plus susceptibles de capter l'attention des utilisateurs.
Ces systèmes apprennent à partir d'innombrables signaux :
- Historiques d'interaction
- Préférences implicites ou explicites
- Caractéristiques des vidéos
- Comportements d'utilisateurs similaires
Ils déploient des approches hybrides mêlant filtrage collaboratif, analyse du contenu, modèles de ranking, apprentissage automatique classique et architectures profondes.
Dans cette finale internationale, nous avons été invités à nous immerger dans cet univers d'algorithmes avancés et à construire notre propre solution de recommandation adaptée au contexte fourni.
Ce défi représente un espace d'expression technique et créative, un terrain où les compétences en data science, en apprentissage automatique et en systèmes de recommandation prennent toute leur envergure.
Le défi consiste à prédire la probabilité qu'un utilisateur interagisse, dans un futur proche, avec un contenu vidéo qui lui est proposé.
Cette interaction est représentée sous la forme d'un label binaire :
- interact = 1 : l'utilisateur interagira positivement avec le contenu
- do_not_interact = 0 : l'utilisateur n'interagira pas avec le contenu
Le problème peut être abordé de diverses manières :
- Une tâche de classification binaire avec gestion du déséquilibre des classes
- Un système de recommandations basé sur des embeddings multimodaux
- Une stratégie hybride combinant filtrage collaboratif et analyse de contenu
- Des modèles de ranking inspirés des pratiques industrielles
Nous sommes libres d'adopter l'approche analytique ou algorithmique jugée la plus pertinente.
Le jeu de données regroupe plusieurs niveaux d'information : caractéristiques des utilisateurs, propriétés des vidéos, traces d'interactions historiques et divers éléments contextuels susceptibles d'influencer l'engagement.
Accès aux données : Google Drive
Starter Notebook : Télécharger ici
Le dataset comprend des interactions collectées sur une plateforme de vidéos courtes pendant environ 5 semaines, triées chronologiquement.
Volume des données :
- 122 millions d'interactions d'entraînement
- 183,404 utilisateurs avec profils démographiques
- 337,727 vidéos avec métadonnées et embeddings
- 3,572,662 paires test à prédire
Fichier : train_interactions.parquet
Contient l'historique complet des interactions utilisateur-contenu.
Colonnes :
- uid : identifiant utilisateur
- iid : identifiant du contenu
- ts : temps passé sur le contenu par l'utilisateur (en secondes)
- int1 : interaction like (0 ou 1)
- int2 : interaction dislike (0 ou 1)
- int3 : interaction partage (0 ou 1)
- int4 : interaction commentaire (0 ou 1)
Fichier : test_pairs.parquet
Contient les paires utilisateur/contenu pour lesquelles le système doit produire des prédictions pour la semaine suivante.
Format : Chaque ligne correspond à une paire (uid, iid) enrichie de variables descriptives permettant une modélisation fine du comportement.
Fichier : items_meta.parquet
Propriétés détaillées des vidéos.
Colonnes :
- iid : identifiant unique du contenu
- sid : identifiant de l'auteur/source
- dur : durée du contenu (en secondes)
- emb : embedding de réseau de neurones 32D du contenu (représentation multimodale capturant séquence visuelle, patterns audio et sémantique)
Fichier : users_meta.parquet
Caractéristiques démographiques des utilisateurs.
Colonnes :
- uid : identifiant utilisateur
- sex : sexe de l'utilisateur (encodé)
- age : âge de l'utilisateur
Fichier : sample_submission.parquet
Indique le format attendu pour les prédictions finales.
Les performances des modèles sont mesurées à l'aide du User-Based ROC AUC (Area Under the Receiver Operating Characteristic Curve).
Cette métrique est particulièrement bien adaptée aux :
- Problématiques de classification déséquilibrée
- Estimation probabiliste des interactions
- Systèmes de recommandation
Elle évalue la capacité du modèle à :
- Distinguer correctement les utilisateurs susceptibles d'interagir des autres
- Ordonner les probabilités de manière cohérente
- Généraliser sur de nouveaux utilisateurs et contenus
Le classement final tient compte de ce score ainsi que de la solidité de l'approche et de la qualité de la justification technique.
Fichier .parquet contenant :
- uid : identifiant utilisateur
- iid : identifiant du contenu
- target : probabilité prédite d'interaction (valeur entre 0 et 1)
Notre solution nous a permis d'atteindre la 2ème place internationale du Challenge DataTour 2025 - Phase Internationale avec un score User-Based ROC AUC (publique) de 0.6237.
La méthodologie complète et détaillée de notre approche est disponible dans le fichier Methodologie de ce dépôt.
Au-delà de la recherche de performance, notre solution témoigne d'une démarche complète et rigoureuse :
- Exploration méthodique du dataset : Analyse approfondie des 122 millions d'interactions pour identifier les patterns comportementaux
- Construction d'un pipeline solide : Feature engineering exhaustif avec 73 features structurées
- Justification des choix techniques : Sélection raisonnée des modèles, hyperparamètres et stratégies d'optimisation
- Optimisation raisonnée : Équilibrage des classes, régularisation et validation croisée
- Production d'un fichier de prédiction : 3,572,662 probabilités conformes aux exigences
Notre approche combine trois piliers techniques complémentaires :
1. Feature Engineering Exhaustif (73 features)
- 18 User Features : Profil comportemental agrégé (temps de visionnage, taux d'engagement, patterns d'interaction)
- 27 Item Features : Caractéristiques de popularité, qualité du contenu et performance du créateur
- 15 Compatibility Features : Mesures de correspondance entre profils utilisateur et caractéristiques des vidéos
- 4 Embedding Features : Exploitation de la similarité sémantique dans l'espace vectoriel 32D
- 10 Advanced Features : Interactions multiplicatives, ratios complexes et normalisation statistique
2. Exploitation des Embeddings Multimodaux
- Calcul de la similarité cosinus entre préférences utilisateur agrégées et contenu vidéo
- Exploitation des représentations vectorielles 32D capturant les dimensions visuelles, audio et sémantiques
- Génération de features dérivées pondérées par la popularité
3. Modélisation Robuste avec XGBoost
- Architecture : 700 arbres de décision gradient boosted
- Équilibrage optimal : ratio 1:1.5 (positif:négatif)
- Régularisation combinée L1 (0.15) + L2 (0.2) pour généralisation
- Accélération GPU (CUDA) pour traitement de données massives
- Profondeur maximale : 9 niveaux pour capturer les interactions complexes
Le projet est organisé en 5 bloc de code dans le notebook Jupyter exécutables séquentiellement :
La méthodologie complète, incluant les justifications techniques et l'analyse des résultats, est disponible dans le fichier Methodologie du dépôt.
| Membre | |
|---|---|
| Abdoul Aziz BALMA | azizbalma226@gmail.com |
| Rosteim Falleiz BELEMCOABGA | rosteimfalleizbelemcoabga@gmail.com |
| Harouna KINDO | kindoharouna04@gmail.com |
Nous accueillons avec plaisir toutes les suggestions et contributions ! Vous pouvez :
- Ouvrir une issue pour signaler un bug ou proposer une amélioration
- Soumettre une pull request avec vos modifications
- Nous contacter directement par email pour toute question
Cette édition du DataTour est un espace d'expression technique et créative, un terrain où les compétences en data science, en apprentissage automatique et en systèmes de recommandation prennent toute leur envergure.
La finale internationale représente l'aboutissement d'un parcours exigeant et témoigne de l'engagement de Data Afrique Hub à mettre en lumière les talents du continent africain.
DataTour 2025 | Video Recommendation Challenge | Équipe Etalons AI | 🇧🇫 Burkina Faso