paint-brush
Quelle était la probabilité de survie sur le Titanic ?par@dotslashbit
3,498 lectures
3,498 lectures

Quelle était la probabilité de survie sur le Titanic ?

par Sahil12m2023/08/09
Read on Terminal Reader

Trop long; Pour lire

Les distinctions de classe ont-elles joué un rôle dans la détermination du sort des personnes à bord, créant un fossé entre privilège et danger ? Comment l'âge et le sexe ont-ils influencé ceux qui ont survécu et ceux qui ont succombé à la mer implacable ? Au milieu du chaos, la présence de membres de la famille a-t-elle apporté réconfort et soutien, incitant les passagers à affronter la tempête ensemble ? Et le port d'embarquement a-t-il influencé le destin de ceux qui ont embarqué depuis différents endroits ? Heureusement, nous pouvons répondre à ces questions en utilisant l'ensemble de données Titanic disponible chez Kaggle. Plus de cent ans après son naufrage, nous pouvons utiliser les données pour comprendre comment le prix d'un billet peut avoir influencé la survie et si certains emplacements de cabine ont fourni un refuge pendant les événements tragiques. Cette analyse exploratoire des données (EDA) révélera des informations sur les expériences des passagers, mettant en lumière leurs histoires de courage et de perte au cours de cette nuit fatidique.
featured image - Quelle était la probabilité de survie sur le Titanic ?
Sahil HackerNoon profile picture
0-item
1-item

Le naufrage du RMS Titanic en 1912 reste l'une des catastrophes maritimes les plus meurtrières de l'histoire. Plus de 1 500 personnes ont perdu la vie lorsque le navire a heurté un iceberg et a coulé dans l'océan Atlantique Nord. Dans les années qui ont suivi, des recherches approfondies ont été menées pour comprendre les facteurs qui ont contribué au nombre élevé de morts.


Seuls 38% des passagers ont survécu à cet événement dévastateur, ce qui m'amène à m'interroger sur les personnes qui se trouvaient à bord du Titanic cette nuit fatidique.


Les distinctions de classe ont-elles joué un rôle dans la détermination du sort des personnes à bord, créant un fossé entre privilège et danger ? Comment l'âge et le sexe ont-ils influencé ceux qui ont survécu et ceux qui ont succombé à la mer implacable ? Au milieu du chaos, la présence de membres de la famille a-t-elle apporté réconfort et soutien, incitant les passagers à affronter la tempête ensemble ? Et le port d'embarquement a-t-il influencé le destin de ceux qui ont embarqué depuis différents endroits ?


Heureusement, nous pouvons répondre à ces questions en utilisant l'ensemble de données Titanic disponible chez Kaggle. Plus de cent ans après son naufrage, nous pouvons utiliser les données pour comprendre comment le prix d'un billet peut avoir influencé la survie et si certains emplacements de cabine ont fourni un refuge pendant les événements tragiques. Cette analyse exploratoire des données (EDA) révélera des informations sur les expériences des passagers, mettant en lumière leurs histoires de courage et de perte au cours de cette nuit fatidique.

Questions/Aperçus

Voici quelques-unes des idées que nous explorerons au cours de l'analyse :


  1. Quel est le taux de survie global des passagers du Titanic ?
  2. Comment le taux de survie varie-t-il selon le sexe ? Les femelles ont-elles plus de chances de survivre que les mâles ?
  3. Quelle est la répartition des âges des passagers sur le Titanic ? Existe-t-il des modèles notables?
  4. Les passagers de différentes classes de passagers (1ère, 2ème, 3ème) ont-ils eu des taux de survie différents ?
  5. Quel est le taux de survie parmi les différents groupes d'âge (par exemple, enfants, adultes, personnes âgées) ?
  6. Le port d'embarquement a-t-il affecté les chances de survie ?
  7. Comment la famille de présence affecte-t-elle le taux de survie ?
  8. Les passagers aux tarifs plus élevés avaient-ils de meilleures chances de survie ?
  9. Quelle est la répartition des emplacements des cabines passagers ? Les passagers de certaines cabines avaient-ils un taux de survie plus élevé ?

Données

L'ensemble de données Titanic est une collection de données sur les passagers et l'équipage du RMS Titanic, qui a coulé en 1912. L'ensemble de données contient des informations sur le nom, l'âge, le sexe, la classe de billet de chaque passager et s'il a survécu au naufrage. L'ensemble de données Titanic est un ensemble de données populaire pour les projets d'apprentissage automatique et de science des données. Il est souvent utilisé pour former des modèles afin de prédire si les passagers ont survécu au naufrage en fonction de leurs caractéristiques. Le jeu de données Titanic est également utilisé pour étudier les réseaux sociaux et le comportement humain.


L'ensemble de données Titanic a été créé par Kaggle, une communauté de science des données. L'ensemble de données est disponible en téléchargement gratuit sur le site Web de Kaggle.


Vous pouvez obtenir le jeu de données ici

Conditions préalables

  • Pandas
  • Matplotlib
  • Né en mer

Chargement des données

Commençons notre analyse en chargeant les modules nécessaires et le jeu de données titanesque

 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() 

jeu de données titanic 5 premières lignes

Vous pouvez voir que cet ensemble de données contient toutes les informations sur chaque passager dont j'ai parlé dans la section d'introduction de cet article.


Maintenant, commençons notre analyse en utilisant des pandas et visualisons les informations en utilisant matplotlib et seaborn.

L'analyse exploratoire des données

Quel est le taux de survie global des passagers du 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() 

pourcentage de passagers ayant survécu

Le graphique à barres fournit une représentation visuelle claire et concise du taux de survie global des passagers du Titanic. Il révèle que seulement 38% des passagers ont réussi à survivre à la catastrophe.


La hauteur des barres représente le nombre de passagers dans chaque catégorie (0 pour les non survivants et 1 pour les survivants). Le taux de survie, indiqué dans le titre de l'intrigue, met en évidence le pourcentage de passagers qui ont survécu à l'événement tragique.

Comment le taux de survie varie-t-il selon le sexe ? Les femelles ont-elles plus de chances de survivre que les mâles ?

 # 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() 

pourcentage de passagers survivants par sexe

Vous pouvez voir que sur tous les passagers survivants, plus de 70% d'entre eux sont des femmes. Le taux de survie significativement plus élevé des femmes par rapport aux hommes est une observation frappante.


Cet écart suggère que le sexe a joué un rôle crucial dans la détermination des chances de survie lors de la tragédie du Titanic.

Quelle est la répartition des âges des passagers sur le Titanic ? Existe-t-il des modèles notables?

 # 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() 

répartition des âges des passagers

L'histogramme avec le tracé KDE illustre la distribution des âges des passagers à bord du Titanic. Les données montrent une distribution asymétrique à gauche, indiquant qu'il y avait plus de jeunes adultes, en particulier entre 18 et 35 ans, que d'adultes plus âgés ou d'enfants parmi les passagers.


Pour analyser la distribution des âges des passagers, nous avons utilisé un histogramme avec un graphique KDE (Kernel Density Estimation). L'axe des x représente différents intervalles d'âge (bacs), tandis que l'axe des y affiche le nombre de passagers appartenant à chaque groupe d'âge. En visualisant les données de cette manière, nous avons pu discerner la nature biaisée de la répartition par âge sur le Titanic, soulignant la prévalence de jeunes adultes parmi les passagers.


Les passagers de différentes classes de passagers (1ère, 2ème, 3ème) ont-ils eu des taux de survie différents ?

 # 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() 

taux de survie par classe de passagers

Le graphique à barres présente les taux de survie basés sur la classe de passagers pour les passagers de l'ensemble de données Titanic. Il ressort du graphique que plus la classe de passagers est élevée, plus le taux de survie est élevé. Cette observation correspond à la compréhension historique selon laquelle les passagers des classes supérieures (1ère classe) avaient un meilleur accès aux canots de sauvetage et aux mesures de sécurité, ce qui a probablement contribué à augmenter leurs chances de survie. En revanche, les passagers des classes inférieures (3e classe) ont été confrontés à plus de défis pendant le processus d'évacuation, ce qui a potentiellement entraîné un taux de survie plus faible pour ce groupe.


Pour analyser les taux de survie en fonction de la classe de passagers, nous avons créé un graphique à barres. Chaque barre représente le pourcentage de passagers qui ont survécu pour chaque catégorie de classe (1ère, 2ème ou 3ème classe). En examinant visuellement le tracé, nous avons pu identifier toute disparité dans les taux de survie entre les différentes classes de passagers. Les hauteurs des barres indiquent les taux de survie, les barres les plus hautes indiquant des pourcentages plus élevés de survivants pour des classes de passagers spécifiques.

Quel est le taux de survie parmi les différents groupes d'âge (par exemple, enfants, adultes, personnes âgées) ?

 # 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() 

taux de survie par groupe d'âge

Le graphique à barres illustre les taux de survie pour différents groupes d'âge parmi les passagers de l'ensemble de données Titanic. Il révèle que certains groupes d'âge, tels que les enfants, les adultes et les personnes âgées, avaient de plus grandes chances de survie pendant la catastrophe. Cette observation indique que la priorité a été donnée à ces groupes d'âge vulnérables lors du processus d'évacuation, ce qui a entraîné des taux de survie plus élevés pour eux.


Pour analyser les taux de survie en fonction des groupes d'âge, nous avons créé un graphique à barres. Chaque barre représente le pourcentage de survivants dans un groupe d'âge spécifique. En examinant le graphique, nous avons pu observer les variations des taux de survie entre les différents groupes d'âge. Cela nous a permis de déduire que certains groupes d'âge, comme les enfants, les adultes et les personnes âgées, étaient prioritaires et avaient de meilleures chances de survie lors de l'événement tragique. La méthodologie employée ici a fourni des informations précieuses sur l'impact de l'âge sur les résultats de survie, reflétant les efforts humanitaires pour protéger les passagers les plus vulnérables pendant la catastrophe.

Le port d'embarquement a-t-il affecté les chances de survie ?

 # 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() 

taux de survie par port d'embarquement

Le graphique à barres présente les taux de survie basés sur le port d'embarquement pour les passagers dans l'ensemble de données Titanic. En analysant le graphique, nous pouvons clairement observer que le taux de survie le plus élevé est associé aux passagers qui ont embarqué depuis Cherbourg, tandis que le taux de survie le plus bas est lié à ceux qui ont embarqué depuis Southampton.


Cette visualisation offre des informations précieuses sur les variations des taux de survie en fonction du port d'embarquement, suggérant des facteurs potentiels pouvant avoir influencé les chances de survie des passagers.


Pour analyser les taux de survie en fonction du port d'embarquement, nous avons créé un bar plot. Chaque barre représente le pourcentage de survivants pour chaque catégorie de port d'embarquement (Cherbourg, Queenstown, Southampton). En examinant visuellement le tracé, nous avons pu identifier des différences significatives dans les taux de survie entre les différents points d'embarquement.

Les passagers aux tarifs plus élevés avaient-ils de meilleures chances de survie ?

 # 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() 

taux de survie par tarif

Le graphique montre que le taux de survie était le plus élevé pour les passagers du groupe tarifaire le plus élevé (300+), suivi du deuxième groupe tarifaire le plus élevé (200-300). À l'inverse, le taux de survie diminuait à mesure que le groupe tarifaire diminuait, le taux de survie le plus faible étant celui des passagers du groupe tarifaire le plus bas (0-50).


Cette analyse suggère que le tarif payé a joué un rôle important dans la détermination des chances de survie sur le Titanic. Les passagers qui payaient des tarifs plus élevés étaient plus susceptibles d'être en première classe, qui avait un taux de survie global plus élevé.


De plus, ces passagers mieux payés auraient pu avoir la priorité lors des efforts de sauvetage, contribuant à leur taux de survie plus élevé. Pour analyser la relation entre les groupes tarifaires et les taux de survie, nous avons créé un graphique à barres présentant les pourcentages de survie pour chaque groupe tarifaire. Le graphique nous a permis d'observer la tendance des taux de survie en fonction des groupes de tarifs, révélant que des tarifs plus élevés étaient associés à des taux de survie plus élevés.

Quelle est la répartition des emplacements des cabines passagers ? Les passagers de certaines cabines avaient-ils un taux de survie plus élevé ?

 # 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() 

répartition des emplacements des cabines passagers

taux de survie par pont cabine

Le graphique montre clairement une tendance à la baisse des taux de survie à mesure que le niveau du pont de la cabine diminue, le taux de survie le plus bas étant observé pour les passagers du pont A.


Cette analyse suggère que l'emplacement de la cabine d'un passager était en effet un facteur important dans ses chances de survie sur le Titanic. Les passagers sur les ponts supérieurs avaient probablement un meilleur accès aux canots de sauvetage et étaient plus facilement secourus.


De plus, ils ont peut-être été prioritaires lors des opérations de sauvetage, ce qui a contribué à leur taux de survie plus élevé. En examinant le graphique, nous avons pu identifier les tendances des taux de survie en fonction des niveaux du pont de la cabine.

Taux de survie selon le groupe d'âge et le sexe

 # 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() 

taux de survie selon le groupe d'âge et le sexe

La carte thermique fournit une représentation visuelle des taux de survie pour différents groupes d'âge et sexes parmi les passagers de l'ensemble de données Titanic. En analysant la carte thermique, nous pouvons observer des schémas et des tendances des taux de survie en fonction de l'âge et du sexe, ce qui nous permet d'identifier les groupes d'âge et de sexe qui avaient des chances de survie plus ou moins élevées pendant la catastrophe. L'intensité de la couleur dans la carte thermique sert d'indicateur clair, les couleurs plus foncées représentant des taux de survie plus élevés et les couleurs plus claires indiquant des taux de survie plus faibles.


De la carte thermique, nous pouvons tirer plusieurs idées. Les passagers féminins âgés avaient la plus grande probabilité de survie, tandis que les passagers masculins âgés avaient les plus faibles chances de survie. De plus, la carte thermique révèle qu'en général, les femmes étaient plus susceptibles de survivre dans toutes les catégories d'âge. Ces observations mettent en lumière l'influence significative de l'âge et du sexe dans la détermination des résultats de survie des passagers au cours de cette tragédie historique.


Pour visualiser les taux de survie en fonction des groupes d'âge et des sexes, nous avons utilisé une carte thermique. Chaque cellule de la carte thermique représente le taux de survie (pourcentage) pour une combinaison spécifique de groupe d'âge et de sexe. En examinant l'intensité de la couleur dans la carte thermique, nous avons pu discerner les différences de taux de survie entre les différents groupes d'âge et de sexe.

Taux de survie selon la taille de la famille

 # 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() 

taux de survie selon la taille de la famille

Le graphique montre que les passagers avec des familles plus nombreuses étaient plus susceptibles de survivre au naufrage du Titanic. Le taux de survie des passagers dont la famille comptait de 1 à 4 personnes augmentait à mesure que le nombre de membres de la famille augmentait.


Cette idée est importante car elle met en évidence la taille de la famille comme l'un des meilleurs prédicteurs de la survie sur le Titanic. Les passagers avec des familles plus nombreuses voyageaient probablement ensemble, ce qui en faisait une priorité pour les efforts de sauvetage.


De plus, le fait d'avoir plus de membres de la famille peut avoir facilité le soutien mutuel, comme le partage de ressources comme la nourriture et l'eau, ce qui aurait pu contribuer à augmenter leurs chances de survie.


Pour analyser la relation entre la taille de la famille et les taux de survie, nous avons créé un diagramme à barres affichant les pourcentages de survie pour chaque catégorie de taille de famille. En examinant visuellement le graphique, nous avons pu identifier comment la taille de la famille influençait les résultats de survie des passagers.

Taux de survie par poste d'embarquement et classe de passagers

 # 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() 

taux de survie par port et embarquement

Le graphique révèle plusieurs modèles importants concernant les taux de survie basés sur le port d'embarquement et la classe de passagers. Les passagers qui embarquaient de Cherbourg avaient un taux de survie supérieur à ceux de Queenstown ou de Southampton.


Cela est peut-être dû au fait que Cherbourg est le premier port d'escale et à la probabilité que davantage de passagers de première classe y embarquent. De plus, en tant que port français, il peut y avoir eu un parti pris pour sauver les passagers français.


De plus, le graphique indique que les passagers de première classe avaient un taux de survie plus élevé que ceux de deuxième ou de troisième classe. Cela peut être attribué au fait que les passagers de première classe sont considérés comme une priorité pour le sauvetage et ont un meilleur accès aux canots de sauvetage en raison de leur statut social plus élevé et de leur capacité potentielle à se permettre des mesures de sauvetage.


Enfin, une tendance notable dans tous les ports est la diminution du taux de survie à mesure que la classe de passagers diminue. Cela suggère que la classe de passagers était un déterminant important de la survie sur le Titanic, les passagers de première classe ayant les meilleures chances de survie. Pour analyser la relation entre le port d'embarquement, la classe de passagers et les taux de survie, nous avons créé une carte thermique. La carte thermique représente les pourcentages de taux de survie pour différentes combinaisons de port d'embarquement et de classe de passagers. En examinant la carte thermique, nous avons pu identifier des modèles et des tendances dans les taux de survie en fonction de ces deux facteurs.