泰坦尼克号幸存者预测





在上篇 泰坦尼克号幸存者数据分析 中,我们对泰坦尼克号的幸存者做了数据分析,通过性别、年龄、船舱等级等不同维度对幸存者进行了分类统计,回答了哪些人可能成为幸存者

本文我们将对泰坦尼克号数据集应用特征工程、训练分类模型并对幸存者进行预测

1、数据挖掘概述


数据挖掘的基本流程如下:

  • 数据读取与数据探索(统计分析)
    • 读取数据与概览
    • 单变量分析:单个变量对标签的影响
    • 多变量分析:多个变量对标签的影响
    • 统计绘图
  • 相关性分析(特征相关性热力图)
  • 数据清洗与预处理
    • 缺失值处理
    • 标准化、归一化
    • 特征工程
  • 建模与预测
    • 数据集切分
    • 多模型评估优化对比:交叉验证、网格搜索
    • 集成学习:提升算法(XGBoost、GBDT、LightGBM)、多种算法集成(神经网络)

2、特征工程概述


特征工程是机器学习工作流程中重要的组成部分,它是将原始数据转化成模型可理解的形式的过程。如何基于给定数据来发挥更大的数据价值就是特征工程要做的事情

在2016年的一项调查中发现,数据科学家的工作中,有超过80%的时间都在获取、清洗和组织数据;构造机器学习流水线的时间不到20%。可见特征工程的重要性

特征工程在机器学习流程中的位置如下:

在这里插入图片描述
特征工程处在原始数据和特征之间。它的任务就是将原始数据翻译成特征的过程,这个过程将数据转换为能更好的表示业务逻辑的特征,从而提高机器学习的性能

特征工程主要包括数据预处理、特征选择与提取等

3、相关性分析


相关性分析是指对两个或多个具备相关性的变量进行分析,从而衡量变量的相关密切程度(线性相关性)

热力图(Heatmap)是一种数据相关性可视化工具,它通过使用颜色的深浅来展示数据矩阵中数值的大小或密度。通常来说,颜色越深,相关度越高

可以使用Pandas中的corr()函数来计算两个变量之间的相关系数。两个变量之间相关系数的计算公式为

在这里插入图片描述
即两个变量X、Y的Pearson相关系数 ρ X , Y ρ_{X,Y} ρX,Y等于它们之间的协方差 c o v ( X , Y ) cov(X,Y) cov(X,Y)除以它们各自的标准差的乘积 σ X σ Y σ_Xσ_Y σXσY

值得注意的是,该相关系数只能度量变量之间的线性相关性;也就是说,相关系数越高,则变量间的线性相关程度越高

常见的相关系数有:

  • 皮尔森(Pearson)相关系数:最常用,适用于数据呈正态分布的场景,正态图可查看正态性,散点图展示数据关系
  • 斯皮尔曼(Spearman)相关系数:适用于数据不满足正态分布的场景,正态图可查看正态性,散点图展示数据关系
  • 肯德尔(Kendall)相关系数:适用于数据的一致性判断,通常用于非关系研究,如评委打分,数据排名等

按照相关的方向,相关性可以分为正相关和负相关。因此相关系数的取值始终在[-1,1]之间

  • -1:表示两个变量之间完全负线性相关
  • 0:表示两个变量之间不存在线性相关
  • 1:表示两个变量之间存在完全正线性相关

通常情况下通过以下取值范围判断变量的正相关强度:

相关系数 正相关强度
0.8-1.0 极强相关或完全相关
0.6-0.8 强相关
0.4-0.6 中等程度相关
0.2-0.4 弱相关
0.0-0.2 极弱相关或无相关

通过绘制热力图,我们可以探究各个特征变量之间的相关性,进而探究特征之间是否存在多重共线性

1)计算相关系数

# 计算特征之间的相关系数
data_corr = data[['PassengerId', 'Survived', 'Pclass', 'Age', 'SibSp', 'Parch', 'Fare']]
print(data_corr.corr().to_string())

在这里插入图片描述
2)绘制相关性热力图

Seaborn是基于Matplotlib的Python数据可视化库。Seaborn在Matplotlib基础上进行了更高级的封装,它提供了一个高级界面,使得作图更加方便快捷

  • 18
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值