Problema #184
Autor:Carina Brebenaru
Dificultad
Tu mejor puntuación
N/D
En el universo lejano de Galactic Wars, dos ejércitos igualmente poderosos están en conflicto permanente: los Jedai y los Imperiales (Calmtroopers).
Uno de los Jedai más poderosos, Anaklyn Groundwalker, está atrapado en una misión con numerosas batallas de las que esta vez no está seguro de escapar. Palme, su amiga, te pide ayuda y desea predecir si Anaklyn saldrá victorioso basándose en diferentes factores de las batallas, como las armas, la armadura, la fuerza, pero también el estado moral (confianza en sí mismo).
Para tu suerte, a un Calmtrooper (del bando Imperial) se le cayó un maletín con su equipo y puedes construir un modelo capaz de predecir la victoria de Anaklyn.
Has encontrado dos archivos:
train.csv - datos sobre batallas anteriores, que contienen al ganadortest.csv - datos sobre futuras batallas, sin conocer al vencedor| Nombre | Tipo | Descripción |
|---|---|---|
| FightID | int | ID único de la batalla |
| weapon_jedai | object | Arma Jedai |
| armour_jedai | object | Protección de la armadura Jedai (%) |
| weapon_calmtrooper | object | Arma Calmtrooper |
| armour_calmtrooper | object | Protección de la armadura Calmtrooper (%) |
| injuries | object | Luchador herido |
| number_of_fights | float | Número de batallas libradas |
| force_level | float | Fuerza del oponente |
| accuracy_calmtrooper | float | Precisión de disparo del Calmtrooper |
| fight_planet | object | Planeta donde se lucha |
| weather_conditions | object | Condiciones climáticas |
| surprise_attack | bool | Ataques sorpresa |
| moral_jedai | float | Estado moral Jedai |
| moral_calmtrooper | float | Estado moral Calmtrooper |
| winner | int | Ganador de la batalla |
Palme, conocida por ser exigente (y porque ha notado tu habilidad), te solicita resolver 4 tareas.
Las subtareas 1 y 2 implican el análisis y procesamiento de los conjuntos de datos.
Las subtareas 3 y 4 evalúan el rendimiento del modelo de asignación de etiquetas y del de clasificación, respectivamente.
Para equiparse bien para la batalla, Anaklyn necesita saber cómo vestirse.
Calcula cuántas batallas de test.csv tienen lugar en planetas de tipo "Nabira" y las condiciones climáticas (weather_conditions) son de tipo nevada Snow.
Has descubierto que el Calmtrooper te tendió una trampa y que, de hecho, ya no usan las armas que Anaklyn conocía:
Reemplaza en el conjunto de datos train.csv todas las apariciones de las armas Experimental Weapon por Double Blaster y muestra cuántos valores tuviste que reemplazar.
(Para las siguientes subtareas, este reemplazo ya ha sido realizado en test.csv)
Analizando las batallas anteriores, Anaklyn observó que estas pueden clasificarse en 3 estilos de lucha (0, 1, 2), utilizando las habilidades Jedai y las del oponente (fuerza, moral, armadura, experiencia, etc.).
Para cada batalla en test.csv, determina el estilo de lucha correspondiente.
Métrica de evaluación
Para evaluar la clasificación de las batallas se utiliza el Adjusted Rand Index (ARI), que mide la similitud entre las dos particiones, ajustando por el azar.
El coeficiente ARI para dos particiones se define como:
ARI = (RI - E[RI]) / (max(RI) - E[RI])
donde:
Si el número obtenido es cercano a 1, significa que la división en tipos de batallas se hizo con destreza y los límites entre las características de las batallas se identificaron correctamente. La vida de Anaklyn depende de conocer estos tipos de batallas, por lo que se otorga el puntaje máximo para esta subtarea solo si el valor obtenido para la métrica de evaluación es >= 0.95.
Teniendo a disposición el conjunto de datos que describe las batallas individuales entre Jedai y Calmtrooper, construye un modelo de clasificación que prediga el resultado de la batalla para cada fila de test.csv.
La variable objetivo es: winner (0 - gana el Calmtrooper / 1 - gana el Jedai).
La evaluación se realiza utilizando la puntuación F1 macro.
La puntuación F1 macro se calcula de la siguiente manera:
Esta métrica trata a ambas clases por igual y penaliza a los modelos que solo predicen correctamente la clase mayoritaria.
Umbrales de evaluación:
La entrega final debe ser un archivo CSV llamado submission.csv que contenga exactamente 3 columnas:
subtaskID - el número de la subtarea (1, 2, 3, 4)datapointID - el ID de cada batallaanswer - la respuesta adecuada para dicha subtarea y datapointIDNota: Para las Subtareas 1 y 2, que requieren una sola respuesta, se mostrará una sola línea para cada subtarea, con datapointID igual a 1 y 2 respectivamente.