泰坦尼克号数据集_分类树预测经典实例——泰坦尼克号幸存者预测

7a9eb03a2177a8b0ad7429595b87ee65.png

泰坦尼克号幸存者预测是kaggle上一个较为经典的数据分析案例,之前做了这个案例,今天向大家分享一下自己的学习笔记。

数据集来源:

https://www.kaggle.com/c/titanic​www.kaggle.com

为了让部分没看过《泰坦尼克号》这部电影的小伙伴也能对数据背景有一个基本认识,我们简单概括一下背景

泰坦尼克号的沉没是世界上最严重的海难事故之一,造成了大量的人员伤亡。这是一艘号称当时世界上最大的邮轮,船上的人年龄各异,背景不同,有贵族豪门,也有平民旅人,邮轮撞击冰山后,船上的人马上采取措施安排救生艇转移人员,从本次海难中存活下来的,也就是幸存者。

在上一篇中,我们通过数据挖掘,得出了一些与获救率有关的结论,感兴趣的同学可以回顾一下:

侦探L:数据挖掘经典实例——泰坦尼克号幸存者预测​zhuanlan.zhihu.com

今天我们采用另一种方法——决策树来进行幸存者预测。

下面,正文开始~


一、数据导入及基本了解

import numpy as np
import pandas as pd
df = pd.read_csv(r'C:UsersAdministratorDesktopdata.csv',encoding='utf-8')

1、查看前10行数据

df.head(10)

003cd93b28605b9006ad6598b39a522f.png

2、查看数据大小

df.shape

3b4e4cdaab3ddfb594f0090dbb5f47c2.png

可以看到,我们的数据集有891个样本,12个特征。

3、查看特征

df.info()

afb4ac59ec564adb23d123d73e82def3.png

其中,

Survived:代表是否幸存,0否,1是

Pclass:船舱等级,1最好,2次之,3最后

SibSp:该名乘客上船后,与其一起同行上船的兄弟姐妹的个数

Parch:该名乘客上船后,与其一起同行上船的家里的老人与孩子的个数

Ticket:船票编号

Fare:船票价格

Cabin:该名乘客在船舱内的编号

Embarked:该名乘客登船的码头,有三个:S、C、Q三个码头。

4、查看数据缺失情况

df.isnull().sum()

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值