Problema #64
Autore:Mihnea-Teodor Stoica🥈IOAI 2026 Silver Medalist
Difficoltà
Il tuo miglior punteggio
N/D
In un mondo parallelo dei social network, Chirper è la piattaforma di micro-messaggi più popolare.
Recentemente, la piattaforma è stata acquistata dal famoso (e leggermente eccentrico) Melon Husk, che ha deciso di rebrandarla con il nome Y.
Per rendere Y più pulito e più amichevole, Melon Husk chiede al tuo team di data science di costruire un modello di classificazione che rilevi automaticamente chirp problematici (spam, contenuto irrilevante o rumore), in modo che possano essere filtrati dal feed.
Hai ricevuto un set di chirp storici e devi costruire un modello
che possa classificare nuovi chirp.
Ti sono stati messi a disposizione due file:
label (problematic = 1 / normal = 0)Obiettivo principale: predizione della probabilità che un chirp sia problematico
(valore tra 0 e 1, dove 0 = chirp sicuramente normale, 1 = chirp sicuramente problematico).
Ogni riga rappresenta un chirp pubblicato su Chirper Y, con i seguenti attributi:
id – identificatore unico del chirpchirp – testo del chirplabel – solo in train.csv, 1 (problematico) / 0 (normale)Obiettivo finale: predire label per le righe in test.csv.
I primi due subtask verificano l'analisi semplice dei chirp.
L'ultimo subtask valuta le prestazioni del modello di classificazione.
Determina la lunghezza di ogni chirp come numero di caratteri.
Mostra per questo subtask un numero intero.
Conta quante occorrenze del carattere # esistono nel chirp
(indicatore importante per hashtag eccessivi, amati dagli spammer 😄).
Costruisci un modello di classificazione che predica la probabilità che un chirp
sia problematico (p ∈ [0,1]) per ogni riga del test.
La valutazione si fa usando curva ROC e AUC (Area Under the ROC Curve).
I subtask 1–2 si valutano esattamente (per confronto).
Il file submission.csv deve contenere 3 righe per ogni riga del test,
corrispondenti ai 3 subtask.
Struttura:
subtaskID,datapointID,answerdove:
dove:
id# (numero intero)id = 25758:subtaskID,datapointID,answer1,25758,212,25758,03,25758,0.083Per il Subtask 3, la valutazione si fa usando ROC AUC (Area Under the ROC Curve).
Questa è una misura unica che sintetizza le prestazioni di un classificatore
per tutte le soglie di decisione possibili.
Si traccia la curva ROC, che rappresenta:
L'area sotto la curva (AUC) si calcola usando la regola dei trapezi:
Interpretazione del punteggio: