Problème #64
Auteur:Mihnea-Teodor Stoica🥈IOAI 2026 Silver Medalist
Difficulté
Votre meilleur score
N/D
Dans un monde parallèle des réseaux sociaux, Chirper est la plateforme de micro-messages la plus populaire.
Récemment, la plateforme a été rachetée par le célèbre (et légèrement excentrique) Melon Husk, qui a décidé de la rebaptiser sous le nom de Y.
Pour rendre Y plus propre et plus convivial, Melon Husk demande à votre équipe de data science de construire un modèle de classification qui détecte automatiquement les chirp-s problématiques (spam, contenu non pertinent ou bruit), afin qu'ils puissent être filtrés du feed.
Vous avez reçu un ensemble de chirp-s historiques et devez construire un modèle
qui puisse classifier de nouveaux chirp-s.
Deux fichiers ont été mis à votre disposition :
label (problematic = 1 / normal = 0)Objectif principal : prédiction de la probabilité qu'un chirp soit problématique
(valeur entre 0 et 1, où 0 = chirp sûrement normal, 1 = chirp sûrement problématique).
Chaque ligne représente un chirp publié sur Chirper Y, avec les attributs suivants :
id – identifiant unique du chirpchirp – texte du chirplabel – uniquement dans train.csv, 1 (problématique) / 0 (normal)Objectif final : prédire label pour les lignes de test.csv.
Les deux premières sous-tâches vérifient l'analyse simple des chirp-s.
La dernière sous-tâche évalue la performance du modèle de classification.
Déterminez la longueur de chaque chirp en nombre de caractères.
Affichez pour cette sous-tâche un nombre entier.
Comptez combien d'occurrences du caractère # existent dans le chirp
(indicateur important pour les hashtags excessifs, adorés par les spammeurs 😄).
Construisez un modèle de classification qui prédit la probabilité qu'un chirp
soit problématique (p ∈ [0,1]) pour chaque ligne du test.
L'évaluation se fait en utilisant la courbe ROC et AUC (Area Under the ROC Curve).
Les sous-tâches 1–2 sont évaluées exactement (par comparaison).
Le fichier submission.csv doit contenir 3 lignes pour chaque ligne du test,
correspondant aux 3 sous-tâches.
Structure :
subtaskID,datapointID,answeroù :
où :
id# (nombre entier)id = 25758 :subtaskID,datapointID,answer1,25758,212,25758,03,25758,0.083Pour la Sous-tâche 3, l'évaluation se fait en utilisant ROC AUC (Area Under the ROC Curve).
C'est une mesure unique qui synthétise la performance d'un classificateur
pour tous les seuils de décision possibles.
On trace la courbe ROC, qui représente :
L'aire sous la courbe (AUC) se calcule en utilisant la règle des trapèzes :
Interprétation du score :