Autor: Petru Dimitriu
În vederea întreținerii sănătății, Petronel și-a propus să fie mai sportiv. În acest sens, a început să meargă în mod regulat cu bicicleta, atât la serviciu cât și în scop recreativ. El folosește o aplicație dedicată pentru a-și monitoriza cursele pe care le efectuează și este intersat să obțină statistici cu privire la cursele sale și să observe felul în care reușește să îmbine utilul cu plăcutul, categorisind cursele în funcție de scopul urmărit.
După ce a obținut un set de date care descrie toate cursele pe care le-a efectuat de când a început să meargă cu bicicleta, Petronel își dorește să afle care este viteza medie cu care circulă, în funcție de luna calendaristică. De asemenea, Petronel a început să eticheteze cursele, împărțindu-le în: curse în care s-a deplasat între casă și serviciu, fără a face vreun ocol; curse în care s-a deplasat între casă și serviciu, făcând și un ocol în scop recreativ; și curse pur recreative. Pentru că etichetarea este anevoioasă, are nevoie de un program care să efectueze automat etichetarea curselor rămase (și a celor viitoare) cu o precizie rezonabilă.
Fișierul dataset_train.csv prezintă în antet următoarele coloane:
Activity ID: ID-ul unic al curseiActivity Date: data și ora de început a cursei la fusul orar GMT, sub forma Aug 23, 2025, 4:55:36 PMDistance: distanța pe care s-a efectuat deplasarea, exprimată în kilometriElapsed Time: durata totală a cursei, inclusiv timpul de repaus, exprimată în secundeMoving Time: durata efectivă a deplasării cu bicicleta, exprimată în secundeStarting Latitude, Starting Longitude: coordonatele geografice ale punctului de pornireFinish Latitude, Finish Longitude: coordonatele geografice ale punctului de oprireLabel: eticheta aplicată cursei, cu următoarele semnificații:
COMMUTE: cursă-navetă fără ocol;LEISURELY_COMMUTE: cursă-navetă cu ocol;PURE_LEISURE: cursă pur recreativă.Fișierul dataset_eval.csv prezintă aceleași câmpuri ca fișierul cu date pentru antrenare, cu excepția câmpului Label, care trebuie determinat.
Determinați viteza medie de deplasare pentru fiecare lună din an, exprimată în km/h, conform datelor disponibile în setul de date de antrenare.
Realizați etichetarea curselor prezente în fișierul dataset_eval.csv, plecând de la etichetele înregistrărilor din fișierul dataset_train.csv.
Pentru cerința 1: câte 2,5 puncte pentru viteza medie calculată corect pentru fiecare dintre cele 12 luni ale anului calendaristic - în total, 30 de puncte.
Pentru cerința 2: câte 0,82 puncte pentru fiecare 1% din setul de date etichetat corect, până la pragul maxim de 70 puncte. Cu alte cuvinte, se tolerează ~15% etichetări greșite.
Fișierul de ieșire este în formatul CSV, cu următorul antet:
subtaskID,Answer1,Answer2
Pentru cerința 1, exact 12 rânduri, câte unul pentru fiecare lună a anului, după cum urmează:
1,<luna>,<viteza medie>
Luna va fi exprimată prin prescurtarea de trei litere (Jan, Feb etc.) iar viteza medie va fi exprimată ca un număr real cu exact 5 zecimale după virgulă, rotunjite prin lipsă.
Pentru cerința 2, câte un rând pentru fiecare înregistrare prezentă în fișierul de evaluare, după cum urmează:
2,<id-ul cursei>,<etichetă>
ID-ul cursei este preluat direct din fișierul de evaluare, iar eticheta are una dintre valorile descrise mai sus.
Găsiți la acest link o arhivă zip în care se găsesc fișierele de antrenare și evaluare, dar și un exemplu de fișier de submisie valid, care obține 1 punct.