paint-brush
¿Cuán probable era que uno sobreviviera en el Titanic?por@dotslashbit
3,515 lecturas
3,515 lecturas

¿Cuán probable era que uno sobreviviera en el Titanic?

por Sahil12m2023/08/09
Read on Terminal Reader

Demasiado Largo; Para Leer

¿Las distinciones de clase jugaron un papel en la determinación del destino de los que estaban a bordo, creando una división entre el privilegio y el peligro? ¿Cómo influyeron la edad y el sexo en quién sobrevivió y quién sucumbió al implacable mar? En medio del caos, ¿la presencia de familiares proporcionó consuelo y apoyo, instando a los pasajeros a enfrentar la tormenta juntos? ¿Y el puerto de embarque influyó en los destinos de quienes embarcaban desde diferentes lugares? Afortunadamente, podemos responder estas preguntas utilizando el conjunto de datos del Titanic disponible en Kaggle. Más de cien años después de que se hundiera, podemos usar los datos para comprender cómo el precio de un boleto pudo haber influido en la supervivencia y si ciertas ubicaciones de cabina proporcionaron refugio durante los trágicos eventos. Este análisis exploratorio de datos (EDA) revelará información sobre las experiencias de los pasajeros, arrojando luz sobre sus historias de coraje y pérdida en esa fatídica noche.
featured image - ¿Cuán probable era que uno sobreviviera en el Titanic?
Sahil HackerNoon profile picture
0-item
1-item

El hundimiento del RMS Titanic en 1912 sigue siendo uno de los desastres marítimos más mortíferos de la historia. Más de 1.500 personas perdieron la vida cuando el barco chocó contra un iceberg y se hundió en el Océano Atlántico Norte. En los años que siguieron, se llevó a cabo una amplia investigación para comprender los factores que contribuyeron al alto número de muertes.


Solo el 38% de los pasajeros sobrevivieron a este evento devastador, lo que me llevó a preguntarme sobre las personas que estaban a bordo del Titanic esa fatídica noche.


¿Las distinciones de clase jugaron un papel en la determinación del destino de los que estaban a bordo, creando una división entre el privilegio y el peligro? ¿Cómo influyeron la edad y el sexo en quién sobrevivió y quién sucumbió al implacable mar? En medio del caos, ¿la presencia de familiares proporcionó consuelo y apoyo, instando a los pasajeros a enfrentar la tormenta juntos? ¿Y el puerto de embarque influyó en los destinos de quienes embarcaban desde diferentes lugares?


Afortunadamente, podemos responder estas preguntas utilizando el conjunto de datos del Titanic disponible en Kaggle. Más de cien años después de que se hundiera, podemos usar los datos para comprender cómo el precio de un boleto pudo haber influido en la supervivencia y si ciertas ubicaciones de cabina proporcionaron refugio durante los trágicos eventos. Este análisis exploratorio de datos (EDA) revelará información sobre las experiencias de los pasajeros, arrojando luz sobre sus historias de coraje y pérdida en esa fatídica noche.

Preguntas/Insights

Estas son algunas de las ideas que exploraremos durante el análisis:


  1. ¿Cuál es la tasa de supervivencia general de los pasajeros del Titanic?
  2. ¿Cómo varía la tasa de supervivencia según el género? ¿Las hembras tienen más probabilidades de sobrevivir que los machos?
  3. ¿Cuál es la distribución de edades de los pasajeros en el Titanic? ¿Hay algún patrón notable?
  4. ¿Los pasajeros de diferentes clases de pasajeros (1.°, 2.°, 3.°) tuvieron diferentes tasas de supervivencia?
  5. ¿Cuál es la tasa de supervivencia entre los diferentes grupos de edad (p. ej., niños, adultos, ancianos)?
  6. ¿El puerto de embarque afectó las posibilidades de supervivencia?
  7. ¿Cómo afecta la presencia familiar a la tasa de supervivencia?
  8. ¿Los pasajeros con tarifas más altas tenían más posibilidades de sobrevivir?
  9. ¿Cuál es la distribución de las ubicaciones de las cabinas de pasajeros? ¿Los pasajeros en ciertas cabinas tenían una tasa de supervivencia más alta?

Datos

El conjunto de datos del Titanic es una recopilación de datos sobre los pasajeros y la tripulación del RMS Titanic, que se hundió en 1912. El conjunto de datos contiene información sobre el nombre, la edad, el sexo, la clase de boleto de cada pasajero y si sobrevivieron al hundimiento. El conjunto de datos Titanic es un conjunto de datos popular para proyectos de ciencia de datos y aprendizaje automático. A menudo se usa para entrenar modelos para predecir si los pasajeros sobrevivieron al hundimiento en función de sus características. El conjunto de datos del Titanic también se utiliza para estudiar las redes sociales y el comportamiento humano.


El conjunto de datos Titanic fue creado por Kaggle, una comunidad de ciencia de datos. El conjunto de datos está disponible para su descarga gratuita en el sitio web de Kaggle.


Puede obtener el conjunto de datos aquí

requisitos previos

  • pandas
  • matplotlib
  • nacido en el mar

Cargando los datos

Comencemos nuestro análisis cargando los módulos necesarios y el conjunto de datos titánico

 import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # Load the Titanic dataset df = pd.read_csv('/kaggle/input/titanic/train.csv') df.head() 

conjunto de datos titánico primeras 5 filas

Puede ver que este conjunto de datos contiene toda la información sobre cada pasajero que he discutido en la sección de introducción de este artículo.


Ahora, comencemos nuestro análisis usando pandas y visualicemos las ideas usando matplotlib y seaborn.

Análisis exploratorio de datos

¿Cuál es la tasa de supervivencia general de los pasajeros del Titanic?

 # Calculate the overall survival rate survival_rate = df['Survived'].mean() * 100 # Create a bar plot to visualize the survival rate sns.set(style='darkgrid') plt.figure(figsize=(6, 4)) sns.countplot(x='Survived', data=df) plt.xlabel('Survived') plt.ylabel('Passenger Count') plt.title('Survival Rate: {:.2f}%'.format(survival_rate)) plt.xticks([0, 1], ['No', 'Yes']) plt.show() 

porcentaje de pasajeros sobrevivió

El gráfico de barras proporciona una representación visual clara y concisa de la tasa de supervivencia general de los pasajeros del Titanic. Revela que solo el 38% de los pasajeros lograron sobrevivir al desastre.


La altura de las barras representa el número de pasajeros en cada categoría (0 para no sobrevivientes y 1 para sobrevivientes). La tasa de supervivencia, indicada en el título de la trama, destaca el porcentaje de pasajeros que sobrevivieron al trágico suceso.

¿Cómo varía la tasa de supervivencia según el género? ¿Las hembras tienen más probabilidades de sobrevivir que los machos?

 # Calculate the survival rate by gender survival_by_gender = df.groupby('Sex')['Survived'].mean() * 100 # Create a bar plot to visualize the survival rate by gender sns.set(style='darkgrid') plt.figure(figsize=(6, 4)) sns.barplot(x=survival_by_gender.index, y=survival_by_gender.values) plt.xlabel('Gender') plt.ylabel('Survival Rate') plt.title('Survival Rate by Gender') plt.show() 

porcentaje de pasajeros sobrevivientes por género

Puede ver que, de todos los pasajeros sobrevivientes, más del 70% son mujeres. La tasa de supervivencia significativamente más alta para las hembras en comparación con los machos es una observación sorprendente.


Esta discrepancia sugiere que el género desempeñó un papel crucial en la determinación de las posibilidades de supervivencia durante la tragedia del Titanic.

¿Cuál es la distribución de edades de los pasajeros en el Titanic? ¿Hay algún patrón notable?

 # Plot the distribution of passenger ages sns.set(style='darkgrid') plt.figure(figsize=(8, 6)) sns.histplot(data=df, x='Age', bins=20, kde=True) plt.xlabel('Age') plt.ylabel('Count') plt.title('Distribution of Passenger Ages') plt.show() 

distribución de las edades de los pasajeros

El histograma con gráfico KDE ilustra la distribución de las edades de los pasajeros a bordo del Titanic. Los datos muestran una distribución sesgada hacia la izquierda, lo que indica que había más adultos jóvenes, particularmente entre las edades de 18 y 35 años, en comparación con adultos mayores o niños entre los pasajeros.


Para analizar la distribución de las edades de los pasajeros, utilizamos un histograma con gráfico KDE (Kernel Density Estimation). El eje x representa diferentes intervalos de edad (contenedores), mientras que el eje y muestra el recuento de pasajeros que se encuentran en cada grupo de edad. Al visualizar los datos de esta manera, pudimos discernir la naturaleza sesgada de la distribución por edades en el Titanic, destacando la prevalencia de adultos jóvenes entre los pasajeros.


¿Los pasajeros de diferentes clases de pasajeros (1.°, 2.°, 3.°) tuvieron diferentes tasas de supervivencia?

 # Calculate the survival rates by passenger class survival_by_class = df.groupby('Pclass')['Survived'].mean() * 100 # Create a bar plot to visualize the survival rates by passenger class sns.set(style='darkgrid') plt.figure(figsize=(6, 4)) sns.barplot(x=survival_by_class.index, y=survival_by_class.values) plt.xlabel('Passenger Class') plt.ylabel('Survival Rate') plt.title('Survival Rate by Passenger Class') plt.show() 

tasa de supervivencia por clase de pasajero

El diagrama de barras muestra las tasas de supervivencia basadas en la clase de pasajero para los pasajeros en el conjunto de datos del Titanic. Es evidente a partir de la gráfica que cuanto mayor sea la clase de pasajeros, mayor será la tasa de supervivencia. Esta observación se alinea con el entendimiento histórico de que los pasajeros en clases más altas (primera clase) tenían mejor acceso a botes salvavidas y medidas de seguridad, lo que probablemente contribuyó a sus mayores posibilidades de supervivencia. Por el contrario, los pasajeros de clases más bajas (3ra clase) enfrentaron más desafíos durante el proceso de evacuación, lo que podría conducir a una tasa de supervivencia más baja para ese grupo.


Para analizar las tasas de supervivencia según la clase de pasajero, creamos un gráfico de barras. Cada barra representa el porcentaje de pasajeros que sobrevivieron para cada categoría de clase (primera, segunda o tercera clase). Al examinar visualmente el gráfico, pudimos identificar cualquier disparidad en las tasas de supervivencia entre las diferentes clases de pasajeros. Las alturas de las barras indican las tasas de supervivencia; las barras más altas indican porcentajes más altos de supervivientes para clases específicas de pasajeros.

¿Cuál es la tasa de supervivencia entre los diferentes grupos de edad (p. ej., niños, adultos, ancianos)?

 # Create age groups age_bins = [0, 12, 18, 30, 50, 100] # Define the age group boundaries age_labels = ['Child', 'Teenager', 'Young Adult', 'Adult', 'Elderly'] # Define the age group labels df['AgeGroup'] = pd.cut(df['Age'], bins=age_bins, labels=age_labels, right=False) # Calculate the survival rates by age group survival_by_age_group = df.groupby('AgeGroup')['Survived'].mean() * 100 # Create a bar plot to visualize the survival rates by age group sns.set(style='darkgrid') plt.figure(figsize=(8, 6)) sns.barplot(x=survival_by_age_group.index, y=survival_by_age_group.values) plt.xlabel('Age Group') plt.ylabel('Survival Rate') plt.title('Survival Rate by Age Group') plt.show() 

tasa de supervivencia por grupo de edad

El diagrama de barras ilustra las tasas de supervivencia para diferentes grupos de edad entre los pasajeros del conjunto de datos del Titanic. Revela que ciertos grupos de edad, como niños, adultos y ancianos, tenían mayores posibilidades de supervivencia durante el desastre. Esta observación indica que se dio prioridad a estos grupos de edad vulnerables durante el proceso de evacuación, lo que resultó en tasas de supervivencia más altas para ellos.


Para analizar las tasas de supervivencia en función de los grupos de edad, creamos un gráfico de barras. Cada barra representa el porcentaje de sobrevivientes en un grupo de edad específico. Al examinar la gráfica, pudimos observar las variaciones en las tasas de supervivencia entre los diferentes grupos de edad. Esto nos permitió inferir que ciertos grupos de edad, como niños, adultos y ancianos, recibieron prioridad y tenían mejores posibilidades de supervivencia durante el trágico evento. La metodología empleada aquí proporcionó información valiosa sobre el impacto de la edad en los resultados de supervivencia, lo que refleja los esfuerzos humanitarios para proteger a los pasajeros más vulnerables durante el desastre.

¿El puerto de embarque afectó las posibilidades de supervivencia?

 # Calculate the survival rates by port of embarkation survival_by_embarkation = df.groupby('Embarked')['Survived'].mean() * 100 # Create a bar plot to visualize the survival rates by port of embarkation sns.set(style='darkgrid') plt.figure(figsize=(6, 4)) sns.barplot(x=survival_by_embarkation.index, y=survival_by_embarkation.values) plt.xlabel('Port of Embarkation') plt.ylabel('Survival Rate') plt.title('Survival Rate by Port of Embarkation') plt.show() 

tasa de supervivencia por puerto de embarque

El gráfico de barras muestra las tasas de supervivencia según el puerto de embarque de los pasajeros en el conjunto de datos del Titanic. Analizando el gráfico, podemos observar claramente que la tasa de supervivencia más alta está asociada a los pasajeros que embarcaron desde Cherburgo, mientras que la tasa de supervivencia más baja está vinculada a los que embarcaron desde Southampton.


Esta visualización ofrece información valiosa sobre las variaciones en las tasas de supervivencia según el puerto de embarque, lo que sugiere factores potenciales que pueden haber influido en las posibilidades de supervivencia de los pasajeros.


Para analizar las tasas de supervivencia según el puerto de embarque, creamos un gráfico de barras. Cada barra representa el porcentaje de sobrevivientes para cada categoría de puerto de embarque (Cherbourg, Queenstown, Southampton). Al examinar visualmente el gráfico, pudimos identificar diferencias significativas en las tasas de supervivencia entre los diferentes puntos de embarque.

¿Los pasajeros con tarifas más altas tenían más posibilidades de sobrevivir?

 # Create fare groups fare_bins = [0, 50, 100, 150, 200, 300, 1000] # Define the fare group boundaries fare_labels = ['0-50', '50-100', '100-150', '150-200', '200-300', '300+'] # Define the fare group labels df['FareGroup'] = pd.cut(df['Fare'], bins=fare_bins, labels=fare_labels, right=False) # Calculate the survival rates by fare group survival_by_fare_group = df.groupby('FareGroup')['Survived'].mean() * 100 # Create a bar plot to visualize the survival rates by fare group sns.set(style='darkgrid') plt.figure(figsize=(8, 6)) sns.barplot(x=survival_by_fare_group.index, y=survival_by_fare_group.values) plt.xlabel('Fare Group') plt.ylabel('Survival Rate') plt.title('Survival Rate by Fare Group') plt.show() 

tasa de supervivencia por tarifa

El gráfico ilustra que la tasa de supervivencia fue más alta para los pasajeros en el grupo de tarifa más alta (300+), seguido por el segundo grupo de tarifa más alta (200-300). Por el contrario, la tasa de supervivencia disminuyó a medida que disminuyó el grupo de tarifa, con la tasa de supervivencia más baja para los pasajeros del grupo de tarifa más baja (0-50).


Este análisis sugiere que la tarifa pagada desempeñó un papel importante en la determinación de las posibilidades de supervivencia en el Titanic. Los pasajeros que pagaron tarifas más altas tenían más probabilidades de estar en primera clase, que tenía una tasa de supervivencia más alta en general.


Además, es posible que se haya dado prioridad a estos pasajeros que pagan más durante los esfuerzos de rescate, lo que contribuye a su mayor tasa de supervivencia. Para analizar la relación entre los grupos de tarifas y las tasas de supervivencia, creamos un gráfico de barras que muestra los porcentajes de supervivencia para cada grupo de tarifas. El gráfico nos permitió observar la tendencia de las tasas de supervivencia según los grupos de tarifas, lo que reveló que las tarifas más altas estaban asociadas con tasas de supervivencia más altas.

¿Cuál es la distribución de las ubicaciones de las cabinas de pasajeros? ¿Los pasajeros en ciertas cabinas tenían una tasa de supervivencia más alta?

 # Extract the cabin deck from the Cabin column df['CabinDeck'] = df['Cabin'].str.extract(r'([A-Za-z])') # Plot the distribution of passenger cabin locations sns.set(style='darkgrid') plt.figure(figsize=(10, 6)) sns.countplot(data=df, x='CabinDeck', order=sorted(df['CabinDeck'].dropna().unique())) plt.xlabel('Cabin Deck') plt.ylabel('Count') plt.title('Distribution of Passenger Cabin Locations') plt.show() # Calculate the survival rates by cabin deck survival_by_cabin_deck = df.groupby('CabinDeck')['Survived'].mean() * 100 # Create a bar plot to visualize the survival rates by cabin deck sns.set(style='darkgrid') plt.figure(figsize=(8, 6)) sns.barplot(x=survival_by_cabin_deck.index, y=survival_by_cabin_deck.values) plt.xlabel('Cabin Deck') plt.ylabel('Survival Rate') plt.title('Survival Rate by Cabin Deck') plt.show() 

distribución de las ubicaciones de las cabinas de pasajeros

tasa de supervivencia por cubierta de cabina

El gráfico demuestra claramente una tendencia decreciente en las tasas de supervivencia a medida que bajaba el nivel de la cubierta de la cabina, observándose la tasa de supervivencia más baja para los pasajeros en la cubierta A.


Este análisis sugiere que la ubicación de la cabina de un pasajero fue de hecho un factor importante en sus posibilidades de supervivencia en el Titanic. Es probable que los pasajeros de las cubiertas más altas tengan un mejor acceso a los botes salvavidas y sean más fáciles de rescatar.


Además, es posible que se les haya dado prioridad durante las operaciones de rescate, lo que contribuye a sus tasas de supervivencia más altas. Para analizar la relación entre los niveles de las cubiertas de las cabinas y las tasas de supervivencia, creamos un gráfico de barras que muestra los porcentajes de supervivencia de cada cubierta. Al examinar el gráfico, pudimos identificar las tendencias en las tasas de supervivencia según los niveles de la cubierta de la cabina.

Tasa de supervivencia por grupo de edad y género

 # Create age groups age_bins = [0, 12, 18, 30, 50, 100] # Define the age group boundaries age_labels = ['Child', 'Teenager', 'Young Adult', 'Adult', 'Elderly'] # Define the age group labels df['AgeGroup'] = pd.cut(df['Age'], bins=age_bins, labels=age_labels, right=False) # Calculate the survival rates by age group and gender survival_by_age_gender = df.groupby(['AgeGroup', 'Sex'])['Survived'].mean() * 100 # Convert the survival rates into a pivot table for easier visualization survival_pivot = survival_by_age_gender.unstack() # Create a heatmap to visualize the survival rates by age group and gender sns.set(style='darkgrid') plt.figure(figsize=(8, 6)) sns.heatmap(data=survival_pivot, annot=True, cmap='coolwarm', fmt=".2f", cbar=True) plt.xlabel('Gender') plt.ylabel('Age Group') plt.title('Survival Rate by Age Group and Gender') plt.show() 

tasa de supervivencia por grupo de edad y sexo

El mapa de calor proporciona una representación visual de las tasas de supervivencia para diferentes grupos de edad y géneros entre los pasajeros del conjunto de datos del Titanic. Al analizar el mapa de calor, podemos observar patrones y tendencias en las tasas de supervivencia según la edad y el género, lo que nos permite identificar qué grupos de edad y género tenían mayores o menores posibilidades de supervivencia durante el desastre. La intensidad del color en el mapa de calor sirve como un indicador claro, con colores más oscuros que representan tasas de supervivencia más altas y colores más claros que indican tasas de supervivencia más bajas.


Del mapa de calor, podemos extraer varias ideas. Las pasajeras de edad avanzada tenían la mayor probabilidad de supervivencia, mientras que los pasajeros de edad avanzada tenían las menores posibilidades de supervivencia. Además, el mapa de calor revela que, en general, las mujeres tenían más probabilidades de sobrevivir en todas las categorías de edad. Estas observaciones arrojan luz sobre la influencia significativa de la edad y el género en la determinación de los resultados de supervivencia de los pasajeros durante esta tragedia histórica.


Para visualizar las tasas de supervivencia en función de los grupos de edad y género, utilizamos un mapa de calor. Cada celda del mapa de calor representa la tasa de supervivencia (porcentaje) para una combinación específica de grupo de edad y género. Al examinar la intensidad del color en el mapa de calor, pudimos discernir las diferencias en las tasas de supervivencia entre varios grupos de edad y género.

Tasa de supervivencia por tamaño de familia

 # Calculate the total number of family members for each passenger df['FamilySize'] = df['SibSp'] + df['Parch'] + 1 # Calculate the survival rates by family size survival_by_family_size = df.groupby('FamilySize')['Survived'].mean() * 100 # Create a bar plot to visualize the survival rates by family size sns.set(style='darkgrid') plt.figure(figsize=(10, 6)) sns.barplot(x=survival_by_family_size.index, y=survival_by_family_size.values) plt.xlabel('Family Size') plt.ylabel('Survival Rate') plt.title('Survival Rate by Family Size') plt.show() 

tasa de supervivencia por tamaño de familia

El gráfico ilustra que los pasajeros con familias más grandes tenían más probabilidades de sobrevivir al hundimiento del Titanic. La tasa de supervivencia de los pasajeros con familias de 1 a 4 miembros aumentó a medida que aumentaba el número de miembros de la familia.


Esta idea es significativa ya que destaca el tamaño de la familia como uno de los predictores más fuertes de supervivencia en el Titanic. Es probable que los pasajeros con familias más grandes viajen juntos, lo que los convierte en una prioridad para los esfuerzos de rescate.


Además, tener más miembros en la familia puede haber facilitado el apoyo mutuo, como compartir recursos como alimentos y agua, lo que podría haber contribuido a sus mayores posibilidades de supervivencia.


Para analizar la relación entre el tamaño de la familia y las tasas de supervivencia, creamos un gráfico de barras que muestra los porcentajes de supervivencia para cada categoría de tamaño de familia. Al examinar visualmente el gráfico, pudimos identificar cómo el tamaño de la familia influía en los resultados de supervivencia de los pasajeros.

Tasa de Supervivencia por Postembarque y Clase de Pasajero

 # Calculate the survival rates by port of embarkation and passenger class survival_by_embark_class = df.groupby(['Embarked', 'Pclass'])['Survived'].mean() * 100 # Convert the survival rates into a pivot table for easier visualization survival_pivot = survival_by_embark_class.unstack() # Create a heatmap to visualize the survival rates sns.set(style='darkgrid') plt.figure(figsize=(8, 6)) sns.heatmap(data=survival_pivot, annot=True, cmap='coolwarm', fmt=".2f", cbar=True) plt.xlabel('Passenger Class') plt.ylabel('Port of Embarkation') plt.title('Survival Rate by Port of Embarkation and Passenger Class') plt.show() 

tasa de supervivencia por puerto y embarque

El gráfico revela varios patrones importantes con respecto a las tasas de supervivencia según el puerto de embarque y la clase de pasajero. Los pasajeros que embarcaron desde Cherburgo tuvieron una mayor tasa de supervivencia en comparación con los de Queenstown o Southampton.


Esto posiblemente se deba a que Cherburgo es el primer puerto de escala y la probabilidad de que se embarquen allí más pasajeros de primera clase. Además, como puerto francés, puede haber habido un sesgo hacia el ahorro de pasajeros franceses.


Además, el gráfico indica que los pasajeros de primera clase tenían una mayor tasa de supervivencia en comparación con los de segunda o tercera clase. Esto se puede atribuir a que los pasajeros de primera clase se consideran una prioridad para el rescate y tienen un mejor acceso a los botes salvavidas debido a su mayor estatus social y su capacidad potencial para pagar medidas de salvamento.


Por último, una tendencia notable en todos los puertos es la disminución de la tasa de supervivencia a medida que disminuye la clase de pasajeros. Esto sugiere que la clase de pasajero fue un factor determinante significativo de la supervivencia en el Titanic, ya que los pasajeros de primera clase tenían las mayores posibilidades de supervivencia. Para analizar la relación entre el puerto de embarque, la clase de pasajero y las tasas de supervivencia, creamos un mapa de calor. El mapa de calor representa los porcentajes de tasa de supervivencia para diferentes combinaciones de puerto de embarque y clase de pasajero. Al examinar el mapa de calor, pudimos identificar patrones y tendencias en las tasas de supervivencia en función de estos dos factores.