Probleem #64
Auteur:Mihnea-Teodor Stoica🥈IOAI 2026 Silver Medalist
Moeilijkheid
Jouw beste score
N.v.t.
In een parallelle wereld van sociale netwerken is Chirper het meest populaire platform voor micro-berichten.
Onlangs werd het platform gekocht door de beroemde (en licht excentrieke) Melon Husk, die besloot het te herbranden onder de naam Y.
Om Y schoner en vriendelijker te maken, vraagt Melon Husk jouw data science team om een classificatiemodel te bouwen dat automatisch problematische chirps (spam, irrelevante inhoud of ruis) detecteert, zodat deze uit de feed gefilterd kunnen worden.
Je hebt een set historische chirps ontvangen en moet een model bouwen
dat nieuwe chirps kan classificeren.
Er zijn twee bestanden ter beschikking gesteld:
label (problematic = 1 / normal = 0)Hoofddoel: voorspelling van de waarschijnlijkheid dat een chirp problematisch is
(waarde tussen 0 en 1, waarbij 0 = chirp zeker normaal, 1 = chirp zeker problematisch).
Elke rij vertegenwoordigt een chirp gepubliceerd op Chirper Y, met de volgende attributen:
id – unieke identificator van de chirpchirp – de tekst van de chirplabel – alleen in train.csv, 1 (problematisch) / 0 (normaal)Einddoel: voorspel label voor de rijen in test.csv.
De eerste twee subtaken controleren eenvoudige analyse van chirps.
De laatste subtaak evalueert de prestatie van het classificatiemodel.
Bepaal de lengte van elke chirp als aantal karakters.
Toon voor deze subtaak een geheel getal.
Tel hoeveel keer het karakter # voorkomt in de chirp
(belangrijke indicator voor excessieve hashtags, geliefd door spammers 😄).
Bouw een classificatiemodel dat de waarschijnlijkheid voorspelt dat een chirp
problematisch is (p ∈ [0,1]) voor elke rij in test.
De evaluatie gebeurt met behulp van ROC curve en AUC (Area Under the ROC Curve).
Subtaken 1–2 worden exact geëvalueerd (door vergelijking).
Het bestand submission.csv moet 3 regels voor elke rij in test bevatten,
overeenkomend met de 3 subtaken.
Structuur:
subtaskID,datapointID,answerwaarbij:
waarbij:
id# voorkomt (geheel getal)id = 25758:subtaskID,datapointID,answer1,25758,212,25758,03,25758,0.083Voor Subtaak 3 gebeurt de evaluatie met behulp van ROC AUC (Area Under the ROC Curve).
Dit is een unieke maat die de prestatie van een classificator
samenvat voor alle mogelijke beslissingsdrempels.
De ROC-curve wordt getekend, die weergeeft:
Het gebied onder de curve (AUC) wordt berekend met behulp van de trapeziumregel:
Interpretatie van de score: