Tatanic Survival

如题所述

第1个回答  2022-07-09

项目问题
各变量解释
一、数据描述
1.总览数据
2.可视化探索
3.相关性分析

二、特征工程
1.缺失值处理
2.构造家庭规模特征
3.构造乘客身份特征
4.对Fare分箱(消除异常值)
5.用Ticket构造票根特征

三、建模
1.导入模型
2.数据准备
3.拟合模型及评估结果
4.输出结果及导出

四、项目总结及反省
——————————————————————————————————

What sorts of people were more likely to survive in tatanic?

Variable Definition Key
survival: Survival 0 = No, 1 = Yes
pclass: Ticket class 1 = 1st, 2 = 2nd, 3 = 3rd
sex: Male or Female
Age: Age in years
sibsp: # of siblings / spouses aboard the Titanic
parch: # of parents / children aboard the Titanic
ticket: Ticket number
fare: Passenger fare
cabin: Cabin number
embarked: Port of Embarkation C = Cherbourg, Q = Queenstown, S = Southampton
Variable Notes
pclass: A proxy for socio-economic status (SES) 1st = Upper 2nd = Middle 3rd = Lower
age : Age is fractional if less than 1. If the age is estimated, is it in the form of xx.5
sibsp : The dataset defines family relations in this way...
Sibling = brother, sister, stepbrother, stepsister
Spouse = husband, wife (mistresses and fiancés were ignored)
parch : The dataset defines family relations in this way...
Parent = mother, father
Child =daughter, son, stepdaughter, stepson
Some children travelled only with a nanny, therefore parch=0 for them

女士优先,发现女士生存率较高

从C港口上船的客人生存概率较高

推测C港口的客人更多女性或者票等级更高

2.3.1查看不同港口登船客人的 男女****Sex****人数 以及 票等级****Plcass 对比

可见C和Q港口登船的客人女性比例相同,所以可能C生存率高由Pclass影响

可见C港口登船客人Pclass=1比例最高,票等级最高,故生存率高,见2.3

根据年龄划分年龄段

可见儿童组存活率最高,老年组最低

分析可见性别、船票价和

这里空值可能代表其他含义,可能无房间代表工作人员,所以把“Cabin”中的空值转换为字母“S”,stands for Special

发现规模等于10的家庭

查看规模等于10的家庭存活情况

可见这10个人都是一个家庭的,且全部不幸遇难,太惨了吧
该家庭都为3等Cabin

查看家庭人员与生存率关系

比如女士是Miss、Mrs,男士是Mr,船员有Master

对Title进行分箱操作,需要了解不同称谓的代表,这里可以查有道,并且根据生存率进行分箱
女士类: Miss/Mlle/Lady--生存率较高
已婚夫人类: Mrs/Ms/Mme--生存率较高
男士类: Mr/Sir/Rev牧师--生存率最低
地位显赫类: the Countess伯爵夫人/jonkheer荷兰皇家
工作人员类: Capt船长/Master船长/Col上校/Major少校/Dr教授/Don大学老师--生存率较低

由结果可得,主要生存率由票价分为三个部分(0,10.5],(10.5,41.579](41.579-512.329]

1.导入模型

2.数据准备:特征选择、分离训练测试集、one-hot编码

3.开始预测:建立三个列表存放训练结果及训练效果

根据评分可见决策树以及随机森林表现较好,选用这两个模型跑测试集

四、输出结果
选用决策树及随机森林预测结果

这次的Tatanic项目主要目的是练习使用python,作为练手项目
从目录的数据描述、特征工程及建模三方面总结

1.导入数据时,需将测试集和训练集先合并,因特征工程会构造新特征或对原有特征进行操作,要确保测试、训练集一致
2.两变量间的关系
2.1可视化sns.barplot(x=变量A,y=变量B,data)
2.2groupby 例如:data['Survived'].groupby(data['Sex']).mean()
3.要善于挖掘分离特征中的信息,比如姓名中的不同称谓Mr Mrs Countless Jonkerr等有特定的意义 对预测值能产生重大影响
3.快速发现异常值的方法
data.describe() 观察有没有大幅 偏离平均值 的数据或者是 不符合常识 的数据

1.常用构造新特征的两种方法

2.分箱两种方法
2.1pd.cut():每一段的范围大小相同

2.2pd.qcut():每一段的样本数量相同

2.3查看分箱后效果

3.字符串分割提取