Úloha #184
Autor:Carina Brebenaru
Obtiažnosť
Vaše najlepšie skóre
N/A
V ďalekej galaxii Galactic Wars sú v neustálom konflikte dve rovnako silné armády: Jedai a Imperiáli (Calmtroopers).
Jeden z najsilnejších Jedaiov, Anaklyn Groundwalker, uviazol v misii s početnými bojmi, z ktorých si tentoraz nie je istý, či vyviazne živý. Palme, jeho priateľka, ťa žiada o pomoc a chce predpovedať, či bude Anaklyn víťazný na základe rôznych faktorov bitiek, ako sú zbrane, brnenie, sila, ale aj morálny stav (sebavedomie).
Na tvoje šťastie, jednému Calmtrooperovi (z tábora Imperiálov) vypadla súprava s jeho vybavením, a tak môžeš zostaviť model, ktorý dokáže predpovedať Anaklynovo víťazstvo.
Našiel si dva súbory:
train.csv - údaje o predchádzajúcich bojoch, ktoré obsahujú víťazatest.csv - údaje o budúcich bitkách, bez znalosti víťaza| Názov | Typ | Popis |
|---|---|---|
| FightID | int | Unikátne ID boja |
| weapon_jedai | object | Zbraň Jedai |
| armour_jedai | object | Ochrana brnenia Jedai (%) |
| weapon_calmtrooper | object | Zbraň Calmtrooper |
| armour_calmtrooper | object | Ochrana brnenia Calmtrooper (%) |
| injuries | object | Zranený bojovník |
| number_of_fights | float | Počet absolvovaných bojov |
| force_level | float | Sila oponenta |
| accuracy_calmtrooper | float | Presnosť streľby Calmtroopera |
| fight_planet | object | Planéta, na ktorej sa bojuje |
| weather_conditions | object | Poveternostné podmienky |
| surprise_attack | bool | Prekvapivé útoky |
| moral_jedai | float | Morálny stav Jedai |
| moral_calmtrooper | float | Morálny stav Calmtrooper |
| winner | int | Víťaz boja |
Palme, známa svojou náročnosťou (a pretože si všimla tvoju šikovnosť), ťa žiada o vyriešenie 4 úloh.
Podúlohy 1 a 2 zahŕňajú analýzu a spracovanie dátových súborov.
Podúlohy 3 a 4 vyhodnocujú výkonnosť modelu priraďovania labelov, respektíve klasifikačného modelu.
Aby sa Anaklyn dobre vybavil do boja, potrebuje vedieť, ako sa obliecť.
Vypočítaj, koľko bojov v test.csv sa odohráva na planétach typu "Nabira" a poveternostné podmienky (weather_conditions) sú typu sneženie Snow.
Zistil si o Calmtrooperoch, že ti nastražili pascu a v skutočnosti už nepoužívajú zbrane, ktoré Anaklyn poznal:
Nahraď v dátovom súbore train.csv všetky výskyty zbraní Experimental Weapon za Double Blaster a vypíš, koľko hodnôt si musel nahradiť.
(Pre nasledujúce podúlohy už bola táto výmena v test.csv vykonaná)
Analýzou predchádzajúcich bojov Anaklyn zistil, že sa dajú zaradiť do 3 bojových štýlov (0, 1, 2) s využitím schopností Jedai a oponenta (sila, morálka, brnenie, skúsenosti atď.).
Pre každý boj v test.csv určte zodpovedajúci bojový štýl.
Metrika hodnotenia
Na vyhodnotenie zaradenia bojov sa používa Adjusted Rand Index (ARI), ktorý meria podobnosť medzi dvoma rozdeleniami s úpravou na náhodnú zhodu.
Koeficient ARI pre dve rozdelenia je definovaný ako:
ARI = (RI - E[RI]) / (max(RI) - E[RI])
kde:
Ak je získané číslo blízke 1, znamená to, že rozdelenie do typov bojov bolo vykonané zručne a hranice medzi charakteristikami bojov boli identifikované správne. Anaklynov život závisí od znalosti týchto typov bitiek, preto sa za túto podúlohu udeľuje maximálny počet bodov len vtedy, ak je získaná hodnota metriky >= 0.95.
Majúc k dispozícii dátový súbor popisujúci jednotlivé boje medzi Jedai a Calmtrooperom, zostavte klasifikačný model, ktorý predpovie výsledok boja pre každý riadok v test.csv.
Cieľová premenná je: winner (0 - vyhráva Calmtrooper / 1 - vyhráva Jedai).
Hodnotenie sa vykonáva pomocou skóre F1 macro.
Skóre F1 macro sa vypočíta nasledovne:
Táto metrika pristupuje k obom triedam rovnako a penalizuje modely, ktoré správne predpovedajú len väčšinovú triedu.
Prahové hodnoty pre hodnotenie:
Finálne odovzdanie musí byť CSV súbor s názvom submission.csv, ktorý obsahuje presne 3 stĺpce:
subtaskID - číslo podúlohy (1, 2, 3, 4)datapointID - ID každého bojaanswer - príslušná odpoveď pre danú podúlohu a datapointIDPoznámka: Pre Podúlohy 1 a 2, ktoré vyžadujú jedinú odpoveď, sa zobrazí jeden riadok pre každú podúlohu s datapointID rovným 1, respektíve 2.