分析泰坦尼克号沉船数据 机器学习告诉你谁获救概率更大

    xiaoxiao2024-03-20  124

    【大数据文摘-阿里云栖社区】成立啦

    首次活动报名:21天快速搭建推荐系统

    讲师:阿里云算法专家,阿里云推荐引擎技术负责人 郑重(卢梭)

    时间:616日晚20:00

    报名方式详见文末

     ◆ 

    1、实验流程

     

    让我们假设这样一个略显沉重的应用场景:泰坦尼克号沉船事件。通过分析泰坦尼克号沉船事件幸存者和丧生者的数据,机器学习是否能够判断拥有什么样的属性的人有更大的概率获救?

     

     

     ◆ 

    2、数据准备

    原始数据

     

    将数据导入MaxCompute,

     

    •     PassengerId:用户的ID号

    •     Survived:乘客是否获救,“1”表示获救,“0”表示没有获救。目标队列(target)

    •     Pclass:乘客的社会阶层,“1”表示Upper,“2”表示Middle,“3”表示Lower

    •     Sex:乘客的性别,“1”表示男,“0”表示女

    •     Age:乘客的年龄

    •     sibsp:乘客在船上的配偶数量或兄弟姐妹数量

    •     parch:乘客在船上的父母或子女数量

    •     fare:乘客的船费

    •     cabin:是否住在独立的房间,“1”表示是,“0”为否

    •     embarked:表示乘客上船的码头距离泰坦尼克出发码头的距离,数值越大表示距离越远

     

     ◆ 

    3、搭建实验流程

    实验流程

     

    1)   首先将数据集按照73进行拆分,一部分作为titanic训练集,一部分作为预测集。

    2)   将数据进行标准化处理,去除量纲对于数据造成的干扰。

    3)   训练数据通过逻辑回归LR算法生成模型。

    4)   对预测集进行预测。

    5)   通过ROC曲线和混淆矩阵来对结果进行评估。

     

     

     ◆ 

    4、评估结果

     

    混淆矩阵结果

    混淆矩阵结果分析

     

    说明:

    1.    正确率:预测正确的正例个数占预测为正例的比例,即P=TP/(TP+FP); 

    2.    召回率: 预测正确的正例个数占实际正例的比例,即R=TP/(TP+FN);

    3.    F1指标:PR的中权调和平均,即F1=2PR/(P+R)。当F1较高时说明实验方法比较理想; 

     

    ROC曲线评估结果

    ROC曲线结果分析

     

    说明:

    1.    TPR=TP/(TP+FN); 

    2.    FPR=FP/(FP+TN); 

    3.    ROC曲线:

    ①  Y轴:TPR; X轴:FPR

    ②  (0,1):FRP=0,TPR=1FN=0,FP=0,将所有样本都正确分类; 

    ③  (1,0):即:FPR=1,TPR=0,预测结果相反,正变负,负变正; 

    ④  (0,0):FRP=TPR=0,将所有样本划分为负样本; 

    ⑤  (1,1):所有样本划分为正样本;

    ⑥  ROC曲线越接近左上角,该分类器越好; 

    4.    y=x,随机猜测,一半正样本,一半负样本; 

    5.    AUC:ROC曲线下面积,应该介于0.5~1之间。AUC 越大,分类器越好; 

     

     ◆ 

    5、模型分析

     

    逻辑回归生成模型:

     

    模型分析

     

    根据Logical regression的特性,model输出的是每个特征的线性组合。3.199为常数项,不予考虑。其它系数绝对值越大说明对结果影响越大。通过这一结论得出agesexpclass对于结果影响最大。

     

     根据sigmoid函数得出负号系数的绝对值越大其结果的正例可能性越大。所以我们可以得出结论,agepclasssex的值越小,目标值越大。

     

     也就是有钱人家的女人和小孩有更大的获救概率。

     

     通过真实数据比对也印证了我们的分析结果:

    真实数据

     

    后台回复“泰坦尼克”可获得相关数据集

      

    *关于阿里云机器学习平台*

     

    阿里云机器学习平台是一套基于MaxCompute(阿里云分布式计算引擎)的数据挖掘、建模、预测的工具。它提供算法开发、分享、模型训练、部署、监控等一站式算法服务,用户可以通过可视化的操作界面来操作整个实验流程,同时也支持PAI命令,让用户通过命令行来操作实验。

     

    该平台沉淀了阿里巴巴的机器学习算法体系和经验,从数据的预处理、到机器学习算法、模型的评估和预测动能。

     

    阿里云机器学习平台的架构图

    大数据文摘-阿里云栖社区】成立啦!

    感兴趣的读者可以按照如下方式加入【大数据文摘-阿里云栖社区】,社区将邀请阿里算法专家线上分享干货、发布最新讲座讯息。

    616日晚20:00,大数据文摘将邀请阿里算法专家线上分享【如何用21天搭建推荐系统】。

    报名方式如下:

    (一)长按上图二维码,扫码报名

    (二)扫码加入大数据文摘-阿里云栖社区扫描以下任一二维码即可,请勿重复扫码

    报名1群

    报名2群

    群定位:阿里系云计算、大数据、人工智能等技术讨论

    群中会有专人指导大家完成注册并提供如下群友福利:

    (1)实战技术培训干货(在线培训、培训文章、PDF等)放送

    (2)阿里云计算、大数据等产品意见、建议反馈

    (3)不定期专家讲座答疑

    (4)受邀成为社区专家,共同策划技术选题

    (5)各种福利早知道,比如云主机优惠券、课程通知、新品试用等

    (6)优先报名参加云栖社区的线下活动,如云栖大会等

    原文发布时间为:2016-06-14

    本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

    最新回复(0)