泰坦尼克号数据集深度分析Python代码,运用Python对泰坦尼克号数据集进行详尽分析,旨在揭示幸存者之谜。代码涵盖数据预处理、特征工程、生存率预测等步骤,助力理解历史灾难中的生存规律。
本文目录导读:
泰坦尼克号沉船事件是人类历史上最悲惨的海难之一,自1912年发生以来,其悲剧性一直备受关注,近年来,随着大数据技术的兴起,人们开始利用数据挖掘技术对泰坦尼克号事件进行分析,本文将运用Python编程语言,对泰坦尼克号数据集进行深度分析,揭示幸存者之谜。
数据集介绍
泰坦尼克号数据集来源于Kaggle平台,包含711位乘客的个人信息,包括年龄、性别、舱位等级、票价、是否幸存等字段,以下是数据集的部分字段:
1、PassengerId:乘客ID
图片来源于网络,如有侵权联系删除
2、Survived:是否幸存(1表示幸存,0表示遇难)
3、Pclass:舱位等级(1表示头等舱,2表示二等舱,3表示三等舱)
4、Name:乘客姓名
5、Sex:性别
6、Age:年龄
7、SibSp:与兄弟姐妹同船的人数
8、Parch:与父母或配偶同船的人数
9、Ticket:船票号
10、Fare:票价
11、Cabin:舱位号
12、Embarked:登船港口(C表示南安普顿,Q表示皇后镇,S表示悉尼)
图片来源于网络,如有侵权联系删除
Python分析代码
1、导入所需库
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns
2、读取数据集
data = pd.read_csv('titanic.csv')
3、数据预处理
(1)缺失值处理
data['Age'].fillna(data['Age'].mean(), inplace=True) data['Embarked'].fillna(data['Embarked'].mode()[0], inplace=True)
(2)数据类型转换
data['Sex'] = data['Sex'].map({'male': 0, 'female': 1})
4、数据可视化
(1)幸存者与遇难者比例
sns.countplot(x='Survived', data=data) plt.title('Survival Count') plt.show()
(2)舱位等级与幸存率
sns.countplot(x='Pclass', hue='Survived', data=data) plt.title('Survival by Pclass') plt.show()
(3)性别与幸存率
sns.countplot(x='Sex', hue='Survived', data=data) plt.title('Survival by Sex') plt.show()
5、特征工程
(1)年龄与舱位等级的关系
图片来源于网络,如有侵权联系删除
sns.violinplot(x='Pclass', y='Age', hue='Survived', data=data) plt.title('Age Distribution by Pclass and Survival') plt.show()
(2)票价与幸存率的关系
sns.violinplot(x='Fare', y='Survived', hue='Pclass', data=data) plt.title('Fare Distribution by Pclass and Survival') plt.show()
6、建立机器学习模型
(1)随机森林模型
from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split X = data[['Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare']] y = data['Survived'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) model = RandomForestClassifier() model.fit(X_train, y_train) print('Accuracy:', model.score(X_test, y_test))
(2)支持向量机模型
from sklearn.svm import SVC model = SVC() model.fit(X_train, y_train) print('Accuracy:', model.score(X_test, y_test))
通过以上分析,我们可以得出以下结论:
1、女性乘客的幸存率高于男性乘客。
2、头等舱乘客的幸存率高于二等舱和三等舱乘客。
3、年龄、舱位等级、票价等因素对乘客的幸存率有一定影响。
4、随机森林模型和支持向量机模型在预测乘客幸存率方面具有较高准确率。
通过对泰坦尼克号数据集的深度分析,我们可以揭示幸存者之谜,为后人提供宝贵的历史经验。
评论列表