根据泰坦尼克号乘客数据集预测是否是幸存者

一、问题描述

泰坦尼克号幸存者数据集作为经典数据集,非常适合作为数据分析入门的练手数据。

二、数据集内容

数据集为1912年泰坦尼克号沉船事件中一些船员的个人信息以及存活状况。这些历史数据已经分为训练集和测试集,你可以根据训练集训练出合适的模型并预测测试集中人员的存活状况。

数据结构

训练集train.csv和测试集test.csv的数据结构:

变量名变量解释数据类型
PassengerId乘客编号numeric
Survived乘客是否存活(0=NO 1=Yes)。测试集不包括该输出字段。categorical
Pclass乘客所在的船舱等级,(1=1st,2=2nd,3=3rd)categorical
Name乘客姓名string
Sex乘客性别categorical
Age乘客年龄categorical
SibSp乘客的兄弟姐妹和配偶数量numeric
Parch乘客的父母与子女数量numeric
Ticket票的编号string
Fare票价numeric
Cabin座位号string
Embarked乘客登船码头。C = Cherbourg; Q = Queenstown; S = Southamptoncategorical

训练集数据样例:

PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
103Braund, Mr. Owen Harrismale2210A/5 211717.25S
211Cumings, Mrs. John Bradley (Florence Briggs Thayer)female3810PC 1759971.2833C85C
313Heikkinen, Miss. Lainafemale2600STON/O2. 31012827.925S
411Futrelle, Mrs. Jacques Heath (Lily May Peel)female351011380353.1C123S
503Allen, Mr. William Henrymale35003734508.05S
603Moran, Mr. Jamesmale003308778.4583Q
701McCarthy, Mr. Timothy Jmale54001746351.8625E46S
803Palsson, Master. Gosta Leonardmale23134990921.075S

三、预测算法

安装

通过conda安装scikit-learn等传统机器学习开发包。

执行

from sklearn.linear_model import LogisticRegression
lrmod = LogisticRegression()
lrmod.fit(X_train, y_train)
from sklearn.metrics import accuracy_score
y_predict = lrmod.predict(X_test)
accuracy_score(y_test, y_predict)

这段代码使用了scikit-learn库来实现逻辑回归(Logistic Regression)模型,并计算了模型在测试集上的准确率。下面是对代码的详细解释:

1、导入必要的库

from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
  • LogisticRegression 是scikit-learn中用于实现逻辑回归的类。
  • accuracy_score 是一个用于计算分类准确率的函数。

2、创建逻辑回归模型实例

这里创建了一个逻辑回归模型的实例 lrmod

lrmod = LogisticRegression()

3、训练模型

lrmod.fit(X_train, y_train)
  • X_train 是训练数据的特征矩阵。
  • y_train 是训练数据的标签向量。
  • fit 方法用于训练模型,使其能够根据输入的特征预测输出。

4、进行预测

y_predict = lrmod.predict(X_test)
  • X_test 是测试数据的特征矩阵。
  • predict 方法用于根据训练好的模型对新的数据进行预测,返回预测的标签向量。

5、计算准确率

accuracy_score(y_test, y_predict)
  • y_test 是测试数据的真实标签向量。
  • accuracy_score 函数计算预测标签与真实标签之间的匹配程度,返回一个介于0到1之间的数值,表示模型的准确率。

6、总结

这段代码展示了如何使用scikit-learn库中的逻辑回归模型进行分类任务,并评估模型在测试集上的表现。通过这种方式,您可以了解模型的性能,并根据需要进行调整和优化。

预测输出submission.csv数据样例:

PassengerIdSurvived
8920
8930
8940
8950
8961

源码许可协议

Apache V2.0

四、获取案例套件

需要登录后才允许下载文件包。登录

发表评论