Trudność
Twój najlepszy wynik
Nie dotyczy
W centrum badawczym systemów autonomicznych testowanych jest kilka typów robotów. W tych eksperymentach wykorzystano różne rodzaje aren, a każdy robot stosuje określoną strategię eksploracji. Podczas każdego eksperymentu robot jest wyposażony w zestaw czujników i systemów monitorujących, które zbierają informacje o jego aktywności. Zarejestrowane dane opisują różne aspekty zachowania robota oraz środowiska, w którym pracuje.
Mogą one obejmować wartości liczbowe (np. średnią prędkość, przebyty dystans, liczbę kolizji lub zebranych obiektów), ale także informacje kategoryczne lub opisowe (takie jak typ areny lub warunki środowiskowe). Analiza tych danych pozwala zaobserwować wzorce w sposobie poruszania się robotów, eksploracji przestrzeni, zbierania obiektów czy reagowania na przeszkody.
Analiza tych danych jest ważna dla:
Do rozwiązania tego problemu będziesz mieć do dyspozycji dwa pliki:
train.csv – zawiera etykietowane przykłady, używane do analizy i trenowania modeli;test.csv – zawiera te same zmienne, bez kolumny strategy_label, i służy do generowania predykcji.W eksperymentach wykorzystywane są cztery typy strategii:

Każdy wiersz w plikach train.csv i test.csv odpowiada jednemu eksperymentowi.
Zestaw danych zawiera kolumny opisujące różne aspekty zachowania robota. Przykłady takich cech to:
| Kolumna | Typ | Opis |
|---|---|---|
| robot_id | string | Unikalny identyfikator eksperymentu |
| arena_type | string | Typ areny, w której odbył się eksperyment |
| weather | string | Warunki środowiskowe podczas eksperymentu |
| difficulty | int | Poziom trudności areny |
| laps | int | Liczba wykonanych okrążeń |
| avg_speed_mps | float | Średnia prędkość robota (m/s) |
| distance_m | float | Całkowity przebyty dystans |
| battery_used_pct | float | Procent zużytej baterii |
| collisions | int | Liczba kolizji z przeszkodami |
| unique_cells | float | Liczba odrębnych zbadanych obszarów |
| items_collected | int | Liczba zebranych obiektów |
| pause_count | int | Liczba pauz lub zatrzymań |
| turn_rate | float | Częstotliwość zmian kierunku |
| scan_accuracy | float | Dokładność wykonanych skanów |
| return_time_s | float | Czas potrzebny na powrót do punktu startowego |
| efficiency_score | float | Zagregowany wynik wydajności robota |
| coverage_ratio | float | Proporcja wyeksplorowanej areny |
| scan_turn_sync | float | Synchronizacja między skanami a zmianami kierunku |
| pickup_efficiency | float | Wydajność zbierania obiektów |
| detour_index | float | Indeks odchyleń od trasy |
| safety_margin | float | Margines bezpieczeństwa od przeszkód |
| patrol_consistency | float | Spójność patrolowania obszaru |
| speed_burst | float | Intensywność szybkich przyspieszeń |
| risk_index | float | Indeks ryzyka poruszania się |
| strategy_label | string | Strategia robota (tylko w train.csv) |
Korzystając z danych w pliku train.csv, określ, ile unikalnych wartości pojawia się w kolumnie arena_type.
Korzystając z danych w pliku train.csv, wyznacz maksymalną wartość w kolumnie avg_speed_mps.
Na podstawie danych z pliku train.csv określ, który typ areny pojawia się najczęściej w kolumnie arena_type.
Na podstawie danych z pliku train.csv wyznacz maksymalną wartość w kolumnie items_collected.
Zbuduj model, który określi strategię robota dla każdego eksperymentu w test.csv.
Możliwe wartości to:
explorercollectorguardiansprinterPlik zgłoszeniowy musi być w formacie csv i zawierać następujące kolumny:
| Kolumna | Opis |
|---|---|
| robot_id | Identyfikator robota z test.csv |
| subtaskID | ID zadania, dla którego przesyłana jest odpowiedź |
| answer | Obliczona lub przewidziana wartość dla danego zadania |
Możliwe wartości dla subtaskID to:
| subtaskID | Zadanie |
|---|---|
| 1 | Liczba typów aren |
| 2 | Maksymalna zaobserwowana prędkość |
| 3 | Najczęściej używana arena |
| 4 | Maksymalna wydajność zbierania |
| 5 | Strategia robota |
Dla Zadań 1 – 4 wynikiem jest wartość obliczona globalnie na podstawie danych z train.csv.
W pliku zgłoszeniowym należy ją przesłać tylko raz, używając specjalnej wartości GLOBAL dla robot_id.
Dla Zadania 5 należy podać przewidywaną strategię dla każdego robota z test.csv.
Możliwe wartości to:
explorercollectorguardiansprintersubmission.csvrobot_id,subtaskID,answerGLOBAL,1,10GLOBAL,2,4.31GLOBAL,3,forestGLOBAL,4,7TR_1000,5,explorerTR_1001,5,guardianTR_1002,5,collectorŁączna liczba punktów wynosi 100 punktów.
Dla pierwszych czterech zadań odpowiedzi są ustalane wyłącznie na podstawie danych z train.csv.
Ocena odbywa się poprzez dokładne porównanie (równość) między wartością przesłaną w pliku zgłoszeniowym a poprawną wartością obliczoną z train.csv.
W tym zadaniu oceniana jest poprawność przewidywanych strategii dla robotów z test.csv.
Stosowana jest metryka Macro-F1, która oblicza wynik F1 dla każdej klasy, a następnie wyciąga średnią z tych wartości.
Dla klasy c:

Końcowy wynik Macro-F1 to średnia wyników F1 dla wszystkich klas:

gdzie K to liczba klas. W tym problemie K = 4.
Punktacja przyznawana za Zadanie 5 wynosi:
score = 50 x MacroF1 (jeśli MacroF1 < 0.93)score = 50 (jeśli MacroF1 >= 0.93)