200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 泰坦尼克号预测python_kaggle:泰坦尼克号获救预测_Titanic_EDA##

泰坦尼克号预测python_kaggle:泰坦尼克号获救预测_Titanic_EDA##

时间:2022-01-09 05:40:26

相关推荐

泰坦尼克号预测python_kaggle:泰坦尼克号获救预测_Titanic_EDA##

问题

数据来源于Kaggle,通过一组列有泰坦尼克号灾难幸存者或幸存者的训练样本集,我们的模型能否基于不包含幸存者信息的给定测试数据集确定这些测试数据集中的乘客是否幸存。

代码与数据分析

导入必要的包和titanic数据

image

数据集基本信息

将数据分为不同类别,分别为类别型数据和数字型数据类别数据:Survived, Sex, and Embarked. Ordinal: Pclass

数字型数据:Age, Fare. Discrete: SibSp, Parch

image

数据分布来看:大多数乘客(75%)没有和父母或孩子一起旅行

近30%乘客有兄弟姐妹或配偶

票价差异很大,只有少数乘客(<1%)支付了512美金的票价

年龄较大的乘客数据较少(1%)

提出假设关联:各个特征与存货的相关性是如何

填充缺失值:对 Age 和 Embarked 进行缺失值填充

清洗、处理、剔除字段:Ticket由于高重复率,Cabin仓位空值过多,PassengerId与存活无关,Name数据不标准,都需要处理后进行剔除

添加字段:我们可以根据 Parch 和 SibSp 创造一个关于家庭成员数量的字段;可以从名字中提取特征形成新特征;可以从 Age 和 Fare 创造分层,使数据更具有机器学习意义

分类:猜测女性(Sex = female)、儿童(Age

通过pandas pivot进行简单分析

image

Pclass 等级越低,存活率越低

image

女性存活率远高于男性

image

SibSp与存活率很分散,可能需要进行重构新字段

通过可视化进行分析

数据发现婴儿(Age < 4)存活率很高

年龄最大的乘客存活了下来

大多数15-25岁之间的乘客没有存活下来

大多数乘客处于15-35岁之间

决策

通过对以上数据分析,可以得到以下决策我们应该对年龄进行缺失值填空、分层

image

数据相关性

结合多个特征来识别相关性

数据发现Pclass=3的乘客最多,但存活率最低

Pclass=2和Pclass=3的婴儿乘客幸存率很高

大多数Pclass=1的乘客存活率很高

不同阶层的年龄分布不同

image

分类特征关联

数据发现女性存活率比男性高很多

Pclass=3的男性存活率更高

Pclass=3和男性乘客的生存率各不相同

image

数值数据和分类数据的关系

数据发现票价越高的乘客存活率越高

登陆口岸与乘客存活率相关

image

数据处理

现在我们上文中的数据分析对数据进行处理

Name 列处理

名称列提取后发现分组较为集中和准确,进行简单处理就可以得到比较明确的类别

image

image

女性称谓的存活率也明显较高

image

将类别数据(Title、Sex)数字化

image

image

删掉不必要的列

image

填充空缺值

填充 Age

我们考虑用三种方法对Age进行空缺值填充随机生成一个均值±方差之间的数字

在以上的分析中我们可以看到每个阶层、性别之间的年龄分布有所不同,所以我们可以根据阶层和性别组合特征进行空缺的年龄值预测

结合1、2方法,通过阶层和性别组合特征随机生成一个均值±方差之间的数字

这里我们选择方法 2

生成年龄填充DataFrame

[图片上传中…(image-a6ff10-1576513947294-25)]

填充空缺 Age

根据每条空缺值的 Pclass 和 Sex 进行 Age 填充

image

对年龄进行分层

image

根据年龄分层将年龄类别数据数字化

image

移除多余列

image

结合 SibSp 和 Parch 创建新列

image

image

删除多余字段

image

结合阶层和年龄生成新列

image

对 Embarked 列进行填充

由于绝大多数 Embarked=S,故用 S 对空缺值进行填充

image

对 Embarked 列类别数据数字化

image

对 Fare 列进行空缺值填充与分层

image

根据数据分层对 Fare 进行分类并数据化

image

数据学习模型选择与评估

我们选择以下几种模型进行学习预测:Logistic Regression

KNN or k-Nearest Neighbors

Support Vector Machines

Naive Bayes classifier

Decision Tree

Random Forrest

Perceptron

Artificial neural network

RVM or Relevance Vector Machine

进行训练集、预测集分割处理

image

逻辑回归

逻辑回归主要原理是 Sigmoid 函数,是在工作流早期运行的一个有用模型。Logistic回归通过使用Logistic函数(累积Logistic分布)估计概率来度量分类因变量(特征)与一个或多个自变量(特征)之间的关系 Wikipedia。

image

我们可以看到各个特征的的系数:Sex 的系数为2.019,性别为1(female),存活率越大

Pclass系数为-1.046,值越大,存活率越低

image

SVM模型

image

KNN 模型

image

朴素贝叶斯模型

image

感知机模型

image

支持向量机模型

image

梯度下降模型

image

决策树模型

image

随机森林模型

image

对所有模型进行评价分析

随机森林和决策树的分类效果都比较好,防止过拟合选择随机森林,进行 Kaggle 数据预测

image

Kaggle 预测数据上传

Kaggle 预测集准确率只有0.74641,排名9256名。如果对模型进行适当调参,模型准确性应该会更高

image

END

/p/d5ee5d98db12

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。