python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_字符串


虽然到处都是泰坦尼克号生存预测的案例,但是还是要再来一遍。哈哈哈。作为入门还是可以的。此篇文章为新手小白入门,大佬请指点。文章较长,下面进入正题。

目录

  1. 提出问题(Business Understanding )
  2. 理解数据(Data Understanding)
  • 采集数据
  • 导入数据
  • 查看数据集信息

3.数据清洗(Data Preparation )

  • 数据预处理
  • 特征工程(Feature Engineering)

4.构建模型(Modeling)

5.模型评估(Evaluation)

6.方案实施 (Deployment)

  • 提交结果到Kaggle
  • 报告撰写

1.提出问题

什么人在泰坦尼克事件中存活率较高?

2.理解数据

2.1数据采集

从Kaggle泰坦尼克号项目页面下载数据:

Titanic: Machine Learning from Disasterwww.kaggle.com


2.2导入数据


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_泰坦尼克号数据集_02

append方法按列添加


2.3查看数据集信息


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_泰坦尼克号数据集_03


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_字符串_04


3.数据清洗

3.1 数据预处理

缺失值处理

在前面,理解数据阶段,我们发现数据总共有1309行。 其中数据类型列:年龄(Age)、船票价格(Fare)里面有缺失数据。 字符串列:登船港口(Embarked)、船舱号(Cabin)里面有缺失数据。

这为我们下一步数据清洗指明了方向,只有知道哪些数据缺失数据,我们才能有针对性的处理。

很多机器学习算法为了训练模型,要求所传入的特征中不能有空值。

  1. 如果是数值类型,用平均值取代
  2. 如果是分类数据,用最常见的类别取代
  3. 使用模型预测缺失值,例如:K-NN

数值型数据缺失处理(采取了简单的平均值填充)


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_python泰坦尼克号数据分析报告_05


字符串型数值处理


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_数据_06


3.2 特征工程

查看数据类型,分为3种数据类型。并对类别数据处理:用数值代替类别,并进行One-hot编码


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_python泰坦尼克号数据分析报告_07


3.2.1 分类数据:

1.有直接类别的

  • 乘客性别(Sex): 男性male,女性female
  • 登船港口(Embarked):出发地点S=英国南安普顿Southampton,途径地点1:C=法国 瑟堡市Cherbourg,出发地点2:Q=爱尔兰 昆士敦Queenstown
  • 客舱等级(Pclass):1=1等舱,2=2等舱,3=3等舱

性别


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_数据_08


登船港口(Embarked)


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_特征工程_09


客舱等级(Pclass)


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_特征工程_10


2.无直接类别的字符串类型

可能从这里面提取出特征来,也归到分类数据中,这里数据有:

  • 乘客姓名(Name)
  • 客舱号(Cabin)
  • 船票编号(Ticket)

乘客姓名


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_泰坦尼克号数据集_11


从客舱号中提取客舱类别


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_python泰坦尼克号数据分析报告_12


建立家庭人数和家庭类别


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_泰坦尼克号数据集_13

one-hot的基本思想:将离散型特征的每一种取值都看成一种状态,若你的这一特征中有N个不相同的取值,那么我们就可以将该特征抽象成N种不同的状态,one-hot编码保证了每一个取值只会使得一种状态处于“激活态”,也就是说这N种状态中只有一个状态位值为1,其他状态位都是0。

python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_特征工程_14


3.2.2特征选择

本次是初学者入门,故采用相关系数法进行特征的选择,若想具体了解特征工程,请看下面链接。

如何做特征工程?

使用sklearn做单机特征工程 - jasonfreak - 博客园

泰坦尼克号如何进行特征选择?

相关系数法:计算各个特征的相关系数


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_泰坦尼克号数据集_15


4.构建模型


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_字符串_16


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_泰坦尼克号数据集_17


选择算法模型并训练模型

这里的算法模型有很多,但本次选择逻辑回归模型


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_python泰坦尼克号数据分析报告_18


5 评估模型


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_泰坦尼克号数据集_19


6.方案实施

6.1 得到预测结果上传到Kaggle


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_python泰坦尼克号数据分析报告_20


大佬请忽略渣渣的预测结果。。。。。


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_python泰坦尼克号数据分析报告_21


python泰坦尼克号数据分析报告 泰坦尼克号 数据挖掘_特征工程_22


6.2 报告撰写

下回分解。