泰坦尼克灾难

独热编码onehot
pd.get_dummies
数据预处理
train_df.info()看数据的信息,可以看到有哪几个有缺失值

列举存活率和性别,等级,年龄之间的关系,再将两个特征联系起来

数据处理
首先我们需要丢弃掉没有用的特征,在这个项目里,特征Ticket和Cabin,Name,PassengerId都可以被丢弃。
需要注意的是,在丢弃特征的时候,训练集和测试集的特征应该同时被丢弃。
接下来,我们需要将性别转换为数值,male转为1,female转为0。

由于特征SibSp和Parch分别表示兄弟姐妹及配偶和父母子女的数量,所以我们也可以将SibSp和Parch组合成一个名为FamilySize的合成特征,它表示每个成员的船上家庭成员总数。

接下来看一下新特征和乘客幸存率的关系

可以看到在FamSize在[0,3]时幸存率是比较高的,当FamSize>3时,幸存率就开始下降了。所以我们不防再新增一个特征FamTag,当FamSize>3时,另其为0,小于等于3时,另其为1

接下来看一下改变后的效果

然后我们丢弃掉SibSp、Parch和FamSize这3个特征

Embarked只有两个缺失值,统计出现的频率,用频率最高的两个来代替

将Embarked的值转换为数值型

对age查看分布,用中位数来填充

由于age,fare都是连续值,将两个特征划分为8、4个区间,划分区间为新的特征,分别是’AgeBand’和’FareBand’。

根据区间的不同,区间分别用数字来代替,将连续值离散化,丢弃新增的两个区间

Binning通过观察“邻居”(即周围的值)将连续数据离散化。处理fare
Scaling可以将一个很大范围的数值映射到一个很小的范围(通常是-1 - 1,或则是0 - 1),处理age
特征工程
对数据进行特征工程,也就是从各项参数中提取出对输出结果有或大或小的影响的特征,将这些特征作为训练模型的依据。
当qualitative variable是一些频繁出现的几个独立变量时,Dummy Variables比较适合使用。(独热编码
dummy不好处理Cabin(船舱号)这种标称属性,因为他出现的变量比较多。所以Pandas有一个方法叫做factorize(),它可以创建一些数字,来表示类别变量,对每一个类别映射一个ID,这种映射最后只生成一个特征,不像dummy那样生成多个特征。
fare按照一二三等舱各自的均价来填充:
常见的有两种对年龄的填充方式:一种是根据Title中的称呼,如Mr,Master、Miss等称呼不同类别的人的平均年龄来填充;一种是综合几项如Sex、Title、Pclass等其他没有缺失值的项,使用机器学习算法来预测Age。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值