Moeilijkheid
Jouw beste score
N.v.t.
In een onderzoekscentrum voor autonome systemen worden verschillende soorten robots getest. Voor deze experimenten zijn verschillende soorten arena's gebruikt, en elke robot volgt een bepaalde exploratiestrategie. Tijdens elk experiment is de robot uitgerust met een set sensoren en monitoringsystemen die informatie verzamelen over zijn activiteit. De geregistreerde gegevens beschrijven verschillende aspecten van het gedrag van de robot en de omgeving waarin deze opereert.
Deze kunnen numerieke waarden bevatten (bijvoorbeeld gemiddelde snelheid, afgelegde afstand, aantal botsingen of verzamelde objecten), maar ook categorische of beschrijvende informatie (zoals het type arena of omgevingscondities). Door analyse van deze gegevens kunnen patronen worden waargenomen in de manier waarop robots bewegen, de ruimte verkennen, objecten verzamelen of reageren op obstakels.
De analyse van deze gegevens is belangrijk voor:
Om dit probleem op te lossen, heb je de beschikking over twee bestanden:
train.csv – bevat gelabelde voorbeelden, gebruikt voor analyse en het trainen van modellen;test.csv – bevat dezelfde variabelen, zonder de kolom strategy_label, en wordt gebruikt voor het genereren van voorspellingen.In de experimenten worden vier soorten strategieën gebruikt:

Elke regel in de bestanden train.csv en test.csv komt overeen met één experiment.
De dataset bevat kolommen die verschillende aspecten van het gedrag van de robot beschrijven. Voorbeelden van dergelijke kenmerken zijn:
| Kolom | Type | Beschrijving |
|---|---|---|
| robot_id | string | Unieke identificatie van het experiment |
| arena_type | string | Type arena waarin het experiment plaatsvond |
| weather | string | Omgevingscondities tijdens het experiment |
| difficulty | int | Moeilijkheidsgraad van de arena |
| laps | int | Aantal voltooide rondes |
| avg_speed_mps | float | Gemiddelde snelheid van de robot (m/s) |
| distance_m | float | Totale afgelegde afstand |
| battery_used_pct | float | Percentage verbruikte batterij |
| collisions | int | Aantal botsingen met obstakels |
| unique_cells | float | Aantal verschillende verkende zones |
| items_collected | int | Aantal verzamelde objecten |
| pause_count | int | Aantal pauzes of stops |
| turn_rate | float | Frequentie van richtingsveranderingen |
| scan_accuracy | float | Nauwkeurigheid van de uitgevoerde scans |
| return_time_s | float | Tijd nodig om terug te keren naar het startpunt |
| efficiency_score | float | Geaggregeerde efficiëntiescore van de robot |
| coverage_ratio | float | Proportie van de verkende arena |
| scan_turn_sync | float | Synchronisatie tussen scans en richtingsveranderingen |
| pickup_efficiency | float | Efficiëntie van het verzamelen van objecten |
| detour_index | float | Index van route-afwijkingen |
| safety_margin | float | Veiligheidsmarge ten opzichte van obstakels |
| patrol_consistency | float | Consistentie van het patrouilleren in een zone |
| speed_burst | float | Intensiteit van snelle versnellingen |
| risk_index | float | Risico-index van de verplaatsing |
| strategy_label | string | Strategie van de robot (alleen in train.csv) |
Bepaal met behulp van de gegevens in het bestand train.csv hoeveel unieke waarden er voorkomen in de kolom arena_type.
Bepaal met behulp van de gegevens in het bestand train.csv de maximale waarde in de kolom avg_speed_mps.
Bepaal op basis van de gegevens in het bestand train.csv welk type arena het meest frequent voorkomt in de kolom arena_type.
Bepaal op basis van de gegevens in het bestand train.csv de maximale waarde van de kolom items_collected.
Bouw een model dat de strategie van de robot bepaalt voor elk experiment in test.csv.
De mogelijke waarden zijn:
explorercollectorguardiansprinterHet indieningsbestand moet in csv-formaat zijn en de volgende kolommen bevatten:
| Kolom | Beschrijving |
|---|---|
| robot_id | De identificatie van de robot uit test.csv |
| subtaskID | De ID van de taak waarvoor het antwoord wordt verzonden |
| answer | De berekende of voorspelde waarde voor de betreffende taak |
De mogelijke waarden voor subtaskID zijn:
| subtaskID | Taak |
|---|---|
| 1 | Aantal arena-types |
| 2 | Maximaal waargenomen snelheid |
| 3 | Meest gebruikte arena |
| 4 | Maximale verzamelprestatie |
| 5 | Strategie van de robot |
Voor Task 1 – Task 4 is het resultaat een waarde die globaal berekend is op basis van de gegevens in train.csv.
In het indieningsbestand moet deze één keer worden verzonden, met de speciale waarde GLOBAL voor robot_id.
Voor Task 5 moet de voorspelde strategie voor elke robot uit test.csv worden gerapporteerd.
De mogelijke waarden zijn:
explorercollectorguardiansprintersubmission.csvrobot_id,subtaskID,answerGLOBAL,1,10GLOBAL,2,4.31GLOBAL,3,forestGLOBAL,4,7TR_1000,5,explorerTR_1001,5,guardianTR_1002,5,collectorDe totale score is 100 punten.
Voor de eerste vier taken worden de antwoorden uitsluitend bepaald op basis van de gegevens in train.csv.
De evaluatie gebeurt door middel van een exacte vergelijking (gelijkheid) tussen de waarde in het indieningsbestand en de juiste waarde berekend uit train.csv.
Voor deze taak wordt de correctheid van de voorspelde strategieën voor de robots in test.csv geëvalueerd.
Er wordt gebruikgemaakt van de Macro-F1 metriek, die de F1-score voor elke klasse berekent en vervolgens het gemiddelde van deze waarden neemt.
Voor een klasse c:

De uiteindelijke Macro-F1 score is het gemiddelde van de F1-scores voor alle klassen:

waarbij K het aantal klassen is. In dit probleem is K = 4.
De toegekende score voor Task 5 is:
score = 50 x MacroF1 (als MacroF1 < 0.93)score = 50 (als MacroF1 >= 0.93)