Opgave #184
Forfatter:Carina Brebenaru
Sværhedsgrad
Din bedste score
N/A
I det fjerne Galactic Wars-univers er to lige stærke hære konstant i konflikt: Jedai og Imperialerne (Calmtroopers).
En af de mægtigste Jedai, Anaklyn Groundwalker, er fanget i en mission med adskillige kampe, som han denne gang ikke er sikker på at overleve. Palme, hans veninde, beder om din hjælp og ønsker at forudsige, om Anaklyn vil sejre baseret på forskellige faktorer i kampene, såsom våben, rustning, styrke, men også den moralske tilstand (selvtillid).
Heldigvis for dig har en Calmtrooper (fra Imperialernes lejr) tabt et sæt med sit udstyr, og du kan nu bygge en model, der kan forudsige Anaklyns sejr.
Du har fundet to filer:
train.csv - data om tidligere kampe, som indeholder vinderentest.csv - data om fremtidige kampe, uden kendskab til vinderen| Navn | Type | Beskrivelse |
|---|---|---|
| FightID | int | Unikt ID for kampen |
| weapon_jedai | object | Jedai-våben |
| armour_jedai | object | Jedai-rustningsbeskyttelse (%) |
| weapon_calmtrooper | object | Calmtrooper-våben |
| armour_calmtrooper | object | Calmtrooper-rustningsbeskyttelse (%) |
| injuries | object | Såret kriger |
| number_of_fights | float | Antal kampe udkæmpet |
| force_level | float | Modstanderens styrkeniveau |
| accuracy_calmtrooper | float | Calmtrooperens skydenøjagtighed |
| fight_planet | object | Planeten hvor kampen finder sted |
| weather_conditions | object | Vejrforhold |
| surprise_attack | bool | Overraskelsesangreb |
| moral_jedai | float | Jedai-moral |
| moral_calmtrooper | float | Calmtrooper-moral |
| winner | int | Kampens vinder |
Palme, der er kendt for at være krævende (og fordi hun har bemærket dine evner), beder dig om at løse 4 opgaver.
Subtask 1 og 2 indebærer analyse og behandling af datasættene.
Subtask 3 og 4 evaluerer ydeevnen af henholdsvis label-tildelingsmodellen og klassifikationsmodellen.
For at udstyre sig korrekt til kamp, har Anaklyn brug for at vide, hvordan han skal klæde sig.
Beregn hvor mange kampe i test.csv, der finder sted på planeter af typen "Nabira", hvor vejrforholdene (weather_conditions) er sne Snow.
Du har opdaget, at Calmtroopers har lagt en fælde for dig, og at de faktisk ikke længere bruger de våben, som Anaklyn kendte:
Erstat alle forekomster af våbnet Experimental Weapon med Double Blaster i datasættet train.csv, og vis hvor mange værdier du skulle erstatte.
(I de efterfølgende subtasks er denne udskiftning allerede udført i test.csv)
Ved at analysere tidligere kampe har Anaklyn bemærket, at de kan inddeles i 3 kampstilarter (0, 1, 2) ved hjælp af Jedai- og modstanderfærdigheder (styrke, moral, rustning, erfaring osv.).
Bestem den tilsvarende kampstil for hver kamp i test.csv.
Evalueringsmetrik
Til evaluering af kampinddelingen bruges Adjusted Rand Index (ARI), som måler ligheden mellem to inddelinger og justerer for tilfældig overensstemmelse.
ARI-koefficienten for to inddelinger er defineret som:
ARI = (RI - E[RI]) / (max(RI) - E[RI])
hvor:
Hvis det opnåede tal er tæt på 1, betyder det, at opdelingen i kamptyper er udført dygtigt, og grænserne mellem kampenes karakteristika er identificeret korrekt. Anaklyns liv afhænger af kendskabet til disse bataljoner, derfor gives der kun maksimale point for denne subtask, hvis værdien for evalueringsmetrikken er >= 0.95.
Ved hjælp af datasættet, der beskriver de individuelle kampe mellem Jedai og Calmtrooper, skal du bygge en klassifikationsmodel, der forudsiger resultatet af kampen for hver række i test.csv.
Målvariablen er: winner (0 - Calmtrooper vinder / 1 - Jedai vinder).
Evalueringen sker ved hjælp af F1-makro-score.
F1-makro-scoren beregnes således:
Denne metrik behandler begge klasser ligeværdigt og straffer modeller, der kun forudsiger majoritetsklassen korrekt.
Evalueringsgrænser:
Den endelige aflevering skal være en CSV-fil ved navn submission.csv, som indeholder præcis 3 kolonner:
subtaskID - subtask-nummeret (1, 2, 3, 4)datapointID - ID for hver kampanswer - det passende svar for den pågældende subtask og datapointIDBemærk: For Subtask 1 og 2, som kun kræver ét svar, skal der kun vises én linje for hver subtask med datapointID lig med henholdsvis 1 og 2.