TITANIC

Classification

INTRODUCCION

En este proyecto de clasificación, se busca predecir si un pasajero del Titanic fue capaz de sobrevivir. Para ello, se cuenta con información relacionada al pasajero y su tipo de pasaje.

DATASET

Titanic Dataset - Kaggle

El dataset (Titanic - Machine Learning from Disaster | Kaggle) cuenta con 891 filas que representan pasajeros del Titanic y 12 variables. A continuación se describen las mismas y se menciona la información relevante:


PassengerId    Id del pasajero - Númerico
SurvivedSi el pasajero sobrevivio. Será nuestra variable objetivo y es de tipo binomial.
PclassLa clase del pasajero en tipo númerico (1, 2, o 3).
Name El nombre de los pasajeros.
Sex El sexo del pasajero, binomial (female o male). 314 mujeres y 577 hombres.
AgeLa edad del pasajero. TIene 177 valores faltantes. El minimo es 0.42 y el máximo 80 años. El promedio es de 29.699 años.
SibSp Cantidad de hermanos y parejas a bordo. El valor mínimo es 0 y el máximo 8. El promedio es 0.5.
ParchCantidad de padres o hijos a bordo. El mínimo es 0 y el máximo 6. Promedio 0.382.
TicketEl número de ticket. De tipo nominal.
FareEl precio del pasaje. Mínimo 0, máximo 512.329. Promedio 32.204.
CabinEl número de cabina. Hay 687 valores faltantes.
EmbarkedPuerto de embarque. De tipo nominal (C = Cherbourg, Q = Queenstown, S = Southampton)


Una primera observación es que la variable Cabin tiene demasiados datos faltantes, por lo que se considerara no utilizarla. Por otra parte, Age tiene 177 valores faltantes, cifra importante en este dataset, por lo que se trabajará para recuperar esta información de la mejor manera posible.

ANALISIS

ANALISIS DE LOS DATOS

La matriz de correlación entre todas las variables advierte un cierto vínculo que relaciona la supervivencia del pasajero con el sexo y la clase del pasajero entre otras relaciones menos importantes. También llama la atención la correlación entre la clase del pasajero y el precio del pasaje.
Otros de los valores que se correlacionan son la cantidad de hermanos/pareja con la cantidad de padres/hijos, y la edad con la cantidad de hermanos/parejas.





A continuación analizamos qué porcentaje se sobrevive por clase de pasajero (Pclass):


Primera Clase    63%
Segunda Clase    47%
Tercera Clase    24%

Se descubre que cuanto mejor era la clase del pasajero, mayores chances de sobrevivir.


Se realiza el mismo análisis para el sexo del pasajero, y hermanos/parejas a bordo:


Mujeres    74%
Hombres    19%

Esta información reafirma las relaciones de la matriz de correlación, demostrando que el sexo, la clase del pasajero influyen en si el pasajero sobrevivió o no.

FEATURE ENGINEERING

FEATURE ENGINEERING

Se combinan las variables SibSp y Parch, que hacen referencia a cantidades de miembros familiares a bordo, a una nueva variable que representa el tamaño de la familia, llamada “familia”, y es la suma de SibSp y Parch.

MODELO

MODELO

Se entrena un primer modelo CART de profundidad 4 para realizar la clasificación, y se entrena con el 70% de los datos y la totalidad de las variables existentes. El árbol validado contra el restante 30% del dataset logra un accuracy de 77.61%, con unos valores bastantes buenos de precisión y recall. Lo bueno de este árbol (y de la técnica) es que permite conocer cómo fue tomada la decisión y qué criterios tuvo en cuenta.





Con el fin de mejorar los resultados obtenidos, se completarán los datos faltantes en la variable edad, utilizando para dicho fin el valor promedio.



Tras probar con varios parámetros en la configuración de RandomForest, se llega a la conclusión que 100 árboles, con una profundidad de 10 niveles alcanza el mejor resultado. En esta instancia, el accuracy aumento a 82.38%, y las métricas precision y recall también aumentaron.