项目名称:泰坦尼克号生存率预测1.导入数据
这里使用kaggle kernel编写代码
数据下载地址为:https://www.kaggle.com/c/titanic
![33f23a096d169fc971dab10d7d495875.png](https://img-blog.csdnimg.cn/img_convert/33f23a096d169fc971dab10d7d495875.png)
2.数据统计分析
![f4b647570ceb606609efc86708b9332f.png](https://img-blog.csdnimg.cn/img_convert/f4b647570ceb606609efc86708b9332f.png)
通过describe和info方法,我们可以发现Age,Cabin,Embarked和Fare的数据都有不同程度的缺失,同时Age和Fare的数据存在错误的数据。
3.数据清洗
a)首先对数据类型缺失值的处理
这里使用fiilna方法进行填充,填充值为平均值。
![c3a5815dc548ec4b629c746525815e6f.png](https://img-blog.csdnimg.cn/img_convert/c3a5815dc548ec4b629c746525815e6f.png)
b)字符串类型缺失数据的处理
![2ed25d5e677d0617a0d9839f116dd8c3.png](https://img-blog.csdnimg.cn/img_convert/2ed25d5e677d0617a0d9839f116dd8c3.png)
4.特征提取
数值类型:直接使用
时间序列:转成单独的年、月、日
分类数据:用数值代替类别,One-hot编码
这里分类数据又分为:有类别的以及字符串,有类别的包括Sex,Embarked以及Pclass,字符串则包括:Name,Cabin以及Ticket
分类数据的特征提取:性别
![27be363427defc249a3b3960f141d14b.png](https://img-blog.csdnimg.cn/img_convert/27be363427defc249a3b3960f141d14b.png)
分类数据的特征提取:登船港口,客舱等级
这里使用get_dummies方法来进行one-hot编码
![b24d368dbd05ad407e351b078d332682.png](https://img-blog.csdnimg.cn/img_convert/b24d368dbd05ad407e351b078d332682.png)
分类数据的特征提取:姓名
先定义一个提取姓名中名称的函数,使用的是split方法
![38dcaab4ae1c308415fff6c6dfed7e30.png](https://img-blog.csdnimg.cn/img_convert/38dcaab4ae1c308415fff6c6dfed7e30.png)
再用map和get_dummies函数进行处理
![66f7d501bb42a9dafc2be83e00b49320.png](https://img-blog.csdnimg.cn/img_convert/66f7d501bb42a9dafc2be83e00b49320.png)
分类数据的特征提取:客舱号
![63d980ee31b8e2c605da845ef7dfa3c9.png](https://img-blog.csdnimg.cn/img_convert/63d980ee31b8e2c605da845ef7dfa3c9.png)
分类数据的特征提取:家庭类别
这里通过分类,将家庭规模分为单个,小家庭以及大家庭并存储至familyDf数据集中
![606349c9ab65aefbf55365220b32eff8.png](https://img-blog.csdnimg.cn/img_convert/606349c9ab65aefbf55365220b32eff8.png)
特征选择:使用corr分析各个数据
![280f42ed170d843e7b49a50c7bcd43e7.png](https://img-blog.csdnimg.cn/img_convert/280f42ed170d843e7b49a50c7bcd43e7.png)
这里将与生存率有关的相关系数进行降序排列,看看谁与生存率的关系最大
![196626f9f2696c9860247eefca867571.png](https://img-blog.csdnimg.cn/img_convert/196626f9f2696c9860247eefca867571.png)
5.构建模型
首先使用train_test_split函数用于将矩阵随机划分为训练子集和测试子集,并返回划分好的训练集测试集样本和训练集测试集标签。
![2b7705153729653768cb4ce39d6a3e8e.png](https://img-blog.csdnimg.cn/img_convert/2b7705153729653768cb4ce39d6a3e8e.png)
再使用LogisticRegression进行逻辑回归的模型进行训练
![f71684202fe8f7479ddb83ede7edac0c.png](https://img-blog.csdnimg.cn/img_convert/f71684202fe8f7479ddb83ede7edac0c.png)
评估模型:这里使用model.score方法对模型进行评估,最终得到模型的准确率为0.8。
![3fb6922935ae296f302bf95852ac5e8b.png](https://img-blog.csdnimg.cn/img_convert/3fb6922935ae296f302bf95852ac5e8b.png)
6.方案实施
![6afcf943d497d153d746bd60e34fb1ca.png](https://img-blog.csdnimg.cn/img_convert/6afcf943d497d153d746bd60e34fb1ca.png)
![041be2f85813597b175845e05d5aeb85.png](https://img-blog.csdnimg.cn/img_convert/041be2f85813597b175845e05d5aeb85.png)