Autor: Ilie-Goga Radu
Într-un univers paralel, FairPlay este departamentul responsabil cu monitorizarea echipelor și jucătorilor în timpul meciurilor.
De-a lungul anilor, FairPlay a observat că anumite meciuri tind să devină haotice mai des atunci când apar:
Pentru a evita scandaluri cat mai mult, FairPlay îți cere să construiești un model care clasifică meciurile după potențialul de haos.
Ai la dispoziție date din trecut despre meciuri și trebuie să construiești un model de clasificare care să poată prezice daca meciul va deveni haotic.
Ți-au fost puse la dispoziție două fișiere:
train.csv - meciuri din trecut, cu eticheta chaos_labeltest.csv - meciuri noi, fără etichetăFiecare rând reprezintă un meci și conține următoarele coloane:
MatchID - identificator unic al meciuluiSeason - sezonul competiționalMatchWeek - etapaHomeTeam - echipa gazdăAwayTeam - echipa oaspeteGoals - numărul total de goluriShots - numărul total de șuturiCorners - numărul total de cornereYellowCards - numărul de cartonașe galbeneRedCards - numărul de cartonașe roșiiTeamStyles - listă de stiluri de joc asociate meciului (ex: ["AggressiveTackler", "HighPressure"])chaos_label - doar în train.csv,
Prezice dacă un meci din test.csv este haotic (valori binare - 0 sau 1).
Primele două subtask-uri verifică înțelegerea și preprocesarea datelor.
Ultimul subtask evaluează performanța modelului de clasificare.
Calculați numărul de meciuri jucate de echipa "Chelsea", atât în deplasare, cât și acasă, pe baza setului de testare.
Afișați un singur număr întreg.
Pornind de la coloana TeamStyles, calculați un scor numeric numit StyleAggressionScore, definit ca:
StyleAggressionScore = (numărul de stiluri agresive) / (numărul total de stiluri)
Stilurile considerate agresive sunt:
AggressiveTacklerRiskTakerHighPressureChaosInducerRezultatul trebuie să fie un număr real între 0 și 1.
Construiți un model de clasificare care să prezică dacă un meci este haotic (chaos_label = 1) sau controlat (chaos_label = 0).
Pentru fiecare rând din test.csv, modelul trebuie să returneze o predicție binară:
Modelul poate folosi orice feature disponibil în setul de date, inclusiv feature-uri artificiale construite în cadrul subtask-urilor anterioare.
Pentru Subtask 3, evaluarea se face folosind scorul F1 macro.
Scorul F1 macro se calculează astfel:
Această metrică tratează ambele clase în mod egal și penalizează modelele care prezic corect doar clasa majoritară.
Praguri de evaluare:
Valorile intermediare primesc punctaj proportional.
Fișierul submission.csv trebuie să conțină o linie pentru primul subtask, și câte 2 linii pentru fiecare rând din test, corespunzătoare celorlalte 2 subtaskuri.
Structură:
subtaskID,datapointID,answerunde:
subtaskID - 1, 2 sau 3datapointID - valoarea id (sau 1 pentru primul subtask)answer - depinde de task:
| subtaskID | datapointID | answer |
|---|---|---|
| 1 | 1 | 2000 |
| 2 | 25758 | 0 |
| 3 | 25758 | 0 |
Sursă dataset: https://www.kaggle.com/datasets/ajaxianazarenka/premier-league?select=PremierLeague.csv