Skip to content

AzizBalma/systeme-de-recommandation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

CHALLENGE DATATOUR 2025 - PHASE INTERNATIONALE : SOCIAL MEDIA VIDEO RECOMMENDATION

Équipe : Etalons AI

🥈 2ème place internationale | Score : User-Based ROC AUC = 0.623


Contexte

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.


Objectif

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

Approches possibles

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.


Données

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

Structure des données

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

1. Interactions d'entraînement

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)

2. Données de test

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.

3. Métadonnées des contenus

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)

4. Métadonnées des utilisateurs

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

5. Fichier de soumission

Fichier : sample_submission.parquet

Indique le format attendu pour les prédictions finales.


Métrique d'Évaluation

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.

Format de soumission

Fichier .parquet contenant :

  • uid : identifiant utilisateur
  • iid : identifiant du contenu
  • target : probabilité prédite d'interaction (valeur entre 0 et 1)

Nos Résultats

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.


Notre Solution

La méthodologie complète et détaillée de notre approche est disponible dans le fichier Methodologie de ce dépôt.

Démarche structurée

Au-delà de la recherche de performance, notre solution témoigne d'une démarche complète et rigoureuse :

  1. Exploration méthodique du dataset : Analyse approfondie des 122 millions d'interactions pour identifier les patterns comportementaux
  2. Construction d'un pipeline solide : Feature engineering exhaustif avec 73 features structurées
  3. Justification des choix techniques : Sélection raisonnée des modèles, hyperparamètres et stratégies d'optimisation
  4. Optimisation raisonnée : Équilibrage des classes, régularisation et validation croisée
  5. Production d'un fichier de prédiction : 3,572,662 probabilités conformes aux exigences

Architecture de notre solution

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

Utilisation

Structure du projet

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.


Équipe Etalons AI

Membre Email
Abdoul Aziz BALMA azizbalma226@gmail.com
Rosteim Falleiz BELEMCOABGA rosteimfalleizbelemcoabga@gmail.com
Harouna KINDO kindoharouna04@gmail.com

Contributions

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

Un défi à la hauteur des talents africains

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

About

Projet de système de recommandation développé dans le cadre de la phase finale de DataTour 2025

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors