泰坦尼克号数据集_用Python分析泰坦尼克号生存概率

本文通过kaggle的泰坦尼克号数据集,利用机器学习算法构建模型,预测乘客的存活概率。数据预处理涉及填充缺失值、特征提取与选择,最终模型的准确率为80.0%。分析结果显示,女性、高舱位和特定头衔的乘客存活率较高。
摘要由CSDN通过智能技术生成

一、提出问题(Business Understanding )

1912年4月15日,泰坦尼克号在与冰山相撞之后,沉没于北大西洋。船上的2224名船员及乘客中,只有772人存活了下来,存活率只有32%。

泰坦尼克号沉没事故,为和平时期死伤人数最为惨重的一次海难。泰坦尼克号也变成了隐喻灾难性事故的象征符号,从此警醒世人。

那么,究竟什么样的人在这次事故中相对容易存活?这便是本次分析要处理的问题。

本次分析旨在:利用kaggle网站Titanic项目的数据集,建构一个机器学习的算法模型,以预测特定属性的人的存活概率。

二、理解数据(Data Understanding)

2.1采集数据

数据集来源于kaggle网站Titanic项目。

8497789bc42e9b80a7dc2fe83fbdaa6b.png

3bcf92ebb232f82223e857334368a3fe.png

本次分析使用两个数据集:train.csv,test.csv。

2.2导入数据

为了方便之后的数据清洗,将两个导入的数据集进行合并。

5f5064a88a23cb1949f268690faec985.png

2.3查看数据集信息

1)合并数据集

47acb741731cde8abe15e26490a85afb.png

train.csv比test.csv集多了一个变量Survived,因此合并数据集(full)有418行数据在该维度下是空值。

合并数据集(full)共计12个变量,其含义见下表:

836bd089655bc91e81bedf3e4fd5315d.png

2)查看合并数据集的描述统计信息

4ea8186a512081c9199ff566cad443f3.png

发现年龄行数较少、船票价格最小值为零两个异常值。

推测这两个变量存在着空值,后续需要清洗。

3)查看合并数据集的变量类型和缺失值

72276a129e2ca1df2968e4cc22f02fdf.png

变量类型总共三类:

3d05e4aaa1b812e94e9607d3d8e59d33.png

数据集总共1309行,有缺失值的变量总共四种(Survived是标签,不属于缺失值范围):

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用Python进行预测泰坦尼克号乘客生存率的步骤: 1. 导入数据集 首先,我们需要导入泰坦尼克号数据集,可以使用Pandas库中的read_csv函数进行导入。例如: ```python import pandas as pd # 读取训练集和测试集数据 train_data = pd.read_csv('train.csv') test_data = pd.read_csv('test.csv') ``` 2. 数据预处理 接着,我们需要对数据进行预处理,包括填补缺失值、转换类别变量为数值变量、选择特征等等。 ```python # 填补缺失值 train_data['Age'].fillna(train_data['Age'].median(), inplace=True) test_data['Age'].fillna(test_data['Age'].median(), inplace=True) train_data['Embarked'].fillna(train_data['Embarked'].mode()[0], inplace=True) test_data['Fare'].fillna(test_data['Fare'].median(), inplace=True) # 转换类别变量为数值变量 train_data['Sex'] = train_data['Sex'].map({'female': 0, 'male': 1}) test_data['Sex'] = test_data['Sex'].map({'female': 0, 'male': 1}) train_data['Embarked'] = train_data['Embarked'].map({'C': 0, 'Q': 1, 'S': 2}) test_data['Embarked'] = test_data['Embarked'].map({'C': 0, 'Q': 1, 'S': 2}) # 选择特征 features = ['Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare', 'Embarked'] x_train = train_data[features] y_train = train_data['Survived'] x_test = test_data[features] ``` 3. 模型训练和预测 接下来,我们可以使用一些经典的分类算法,比如决策树、随机森林、逻辑回归等等,对数据进行训练和验证,以得到一个准确的模型。 这里以随机森林为例进行训练和预测。 ```python from sklearn.ensemble import RandomForestClassifier # 定义随机森林模型 rfc = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=1) # 训练模型 rfc.fit(x_train, y_train) # 预测测试集结果 y_pred = rfc.predict(x_test) ``` 4. 提交结果 最后,我们可以将预测结果进行提交,参加kaggle竞赛。 ```python # 将结果保存为csv文件 submission = pd.DataFrame({'PassengerId': test_data['PassengerId'], 'Survived': y_pred}) submission.to_csv('submission.csv', index=False) ``` 以上就是使用Python进行预测泰坦尼克号乘客生存率的步骤,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值