数据挖掘经典实例——泰坦尼克号幸存者预测 - 知乎

admin 70 0

数据挖掘经典实例——泰坦尼克号幸存者预测 - 知乎

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

  小伙伴注意了,本次实例分为两部分,第一部分(也就是本篇)我们会用我们之前使用过的一些数据挖掘方法来对数据集进行探索,并进行幸存者预测;第二部分(下篇)我们会使用机器学习的内容,利用分类树模型来进行幸存者预测。

  数据集来源:https://www.kaggle.com/c/titanic

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

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

  而这也引出了我们今天的主题:通过挖掘数据中的关键信息来预测一下哪些人可能成为幸存者。

  下面,正文开始~

  为了方便,我们将等会可能需要用到的库一并导入:

  1、查看前10行数据

  2、查看数据大小

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

  3、查看特征

  其中,

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

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

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

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

  Ticket:船票编号

  Fare:船票价格

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

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

  4、查看数据缺失情况

  可以看到,Cabin(乘客所在船舱的编号)大量缺失。

  5、使用describe()做简单的数理统计

  6、统计一下获救人数占比

  可视化:

  我们可以得到一个不幸的信息,在本次海难中获救人数仅占38.4%。

  7、统计性别特征对获救几率的影响

  首先看一下船上乘客的男女比例:

  男性乘客577人,女性314人。

  看过电影的同学,可能也有注意到电影里的这一个细节:邮轮出事后,是本着“老人、小孩、女士优先”的准则,也就是说这一部分乘客会优先获救。下面我们来看看在这一点在数据集中是否有体现:

  可以看到,女性乘客总人数比男性少,但是获救人数却比男性乘客要多。

  分别统计船上女性乘客与男性乘客的获救率:

  可以看到,

  性别特征是影响获救概率的一个重要因素。

  女性获救概率要远远高于男性。

  8、研究船舱等级对获救几率的影响

  查看船舱等级分类及各船舱人数:

  查看各船舱的获救情况:

  我们也可以用另一种方法查看:

  分别统计不同船舱乘客的获救率:

  可视化:

  可以看到,船舱等级对于乘客的获救率还是存在很大的影响,从三个船舱的获救率可以看到,一号舱乘客有着很高的优先级,获救率接近63%,二号舱次之,只有47.28%,三号舱获救率则很低,不到25%。

  9、研究在不同等级的船舱内,“女士优先”的原则还是否存在:

  (依然使用groupby函数)

  第一步,统计不同船舱内的男女人数:

  第二步,分别计算在不同等级的船内,女性乘客与男性乘客的获救率:

  1、一号舱:

  2、二号舱:

  3、三号舱:

  可以看到,在一等舱和二等舱,女性的获救率都很高,在90%以上,在三等舱中的乘客获救率普遍较低,女性的获救率为50%,仍远高于男性获救率。

  可以看出,“女士优先”的准则,在各个船舱中都得到呈现。

  可视化:

  从这个图我们就能明显看到,性别及船舱等级对获救概率的影响。

  从上述分析结果,我们可以得到以下两个关于乘客获救率结论:

  (1)在泰坦尼克号上,女性的获救率会高于男性;

  (2)高等级船舱的乘客获救率会高于低等级船舱。

  除此之外,也可以从年龄等其他角度进行分析,这里由于篇幅问题我们就不再续写了,感兴趣的小伙伴可以自己动手试试。

  在本篇中,我们使用了常用的数据挖掘手段对乘客的获救率进行预测;下一篇中,我们将会使用回归树的方法,同样实现预测获救率的目标。

  以上便是<数据挖掘经典实例——泰坦尼克号幸存者预测>的内容,感谢大家的细心阅读,同时欢迎感兴趣的小伙伴一起讨论、学习,想要了解更多内容的可以看我的其他文章,同时可以持续关注我的动态~