【机器学习实战1——分类】——泰坦尼克获救预测

本文通过泰坦尼克号数据集探讨机器学习中的分类问题,旨在预测乘客在灾难中的生存概率。涉及数据预处理、特征提取、算法建模及评估,包括乘客性别、登船港口等因素的影响。
摘要由CSDN通过智能技术生成

一、大背景

泰坦尼克号沉没是历史上最著名的沉船事故之一。1912年4月15日,泰坦尼克号在与冰山相撞后沉没,造成在2224名乘客和机组人员中造成1502人死亡。这场耸人听闻的悲剧震惊了国际社会,并为船舶制定了更好的安全规定。造成海难失事的原因之一是乘客和机组人员没有足够的救生艇。尽管幸存下沉有一些运气因素,但有些人比其他人更容易生存,例如妇女,儿童和上流社会。在这个案例中我们将运用机器学习来预测哪些乘客可以幸免于悲剧。从Kaggle泰坦尼克号项目页面下载数据:https://www.kaggle.com/c/titanic

二、提出问题

什么样的人在泰坦尼克号中更容易存活?

三、分析问题

了解数据特征:
在这里插入图片描述
登船港口(Embarked):
出发地点:S=英国南安普顿Southampton
途径地点1:C=法国 瑟堡市Cherbourg
途径地点2:Q=爱尔兰 昆士敦Queenstown

基于我手里的这批数据,做个分类任务,预测人能否被获救。

四、数据初步了解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
分析:我们发现合并数据集后,数据总共有1309行。
1)年龄(Age)里面数据总数是1046条,缺失了1309-1046=263,缺失率263/1309=20%
2)船票价格(Fare)里面数据总数是1308条,缺失了1条数据
字符串列:
1)登船港口(Embarked)里面数据总数是1307,只缺失了2条数据,缺失比较少
2)船舱号(Cabin)里面数据总数是295,缺失了1309-295=1014,缺失率=1014/1309=77.5%,缺失比较大
这为我们下一步数据清洗指明了方向,只有知道哪些数据缺失数据,我们才能有针对性的处理。
对策:很多机器学习算法为了训练模型,要求所传入的特征中不能有空值,否则不好在建模时构造矩阵。数据出现缺失时,如果这个特征不确定是否对结果有影响(即不能直接舍弃这个特征时),有如下三种方法:
1、如果是数值类型,用平均值取代
2、如果是分类数据,用最常见的类别取代
3、使用模型预测缺失值,例如:K-NN

五、数据处理

5.1 数据预处理

在这里插入图片描述

5.2 特征提取

5.2.1数据分类

数据类型主要分为3种:

  • 数值类型:
    乘客编号(PassengerId),年龄(Age),船票价格(Fare),同代直系亲属人数(SibSp),不同代直系亲属人数(Parch)
  • 时间序列:无
  • 分类数据:
    1)有直接类别的
    乘客性别(Sex):男性male,女性female
    登船港口(Embarked):出发地点S=英国南安普顿Southampton,途径地点1:C=法国 瑟堡市Cherbourg,出发地点2:Q=爱尔兰 昆士敦Queenstown
    客舱等级(Pclass):1=1等舱,2=2等舱,3=3等舱
    2)字符串类型:可能从这里面提取出特征来,也归到分类数据中
    乘客姓名(Name)
    客舱号(Cabin)
    船票编号(Ticket)

5.2.2特征提取

机器学习算法一般来说解决不了对字符的分类。对类别Category进行编码(转化为数值)。

离散特征的编码分为两种情况:

  • 离散特征的取值之间没有大小的意义,比如color:[red,blue],那么就使用one-hot编码
  • 离散特征的取值有大小的意义,比如size:[X,XL,XXL],那么就使用数值的map映射{X:1,XL:2,XXL:3}

使用pandas的get_dummies方法可以很方便的对离散型特征进行one-hot编码
1、乘客性别(Sex)
在这里插入图片描述
2、登船港口(Embarked)

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值