对于特征工程的一些简单总结(其一)

结合最近正做的蚂蚁金服比赛中遇到的小问题,以kaggle上的house prices competition的一篇kernel的特征工程处理为例子做一些简单的总结。

house prices地址:https://www.kaggle.com/c/house-prices-advanced-regression-techniques

kernel地址:https://www.kaggle.com/serigne/stacked-regressions-top-4-on-leaderboard

1.离群点分析与处理(outliers)

数据离散程度的图,分类用boxplot,回归用scatter。也不知道我是哪根筋搭错了,二分类问题上来就画了个scatter,画面很美。

而且好似分类问题没有离群点的处理,如果有的话也是4C标准里面的数据准确性(correct)出了问题,比如80岁误写成800这种情况,这就需要手动纠正。

重要的是:outlier的处理不能做上头,一些主要的特征上,离群很夸张的点是完全没问题的,但是如果每个feature都去除,或者去除的离群点过多的话肯定会对最后的模型精确度造成很大影响。

2.正太分布的数据转换(data transformation)

因为回归问题上很多的ML model都需要数据服从正太分布,当然这是理想状况,大多时候数据是不正太分布的。

首先通过图表查看数据:

distplot():

很明显我们看出房价不服从正太分布。

还有一个很直观的方法:

Q-Q图,可以用来检验数据是否服从某一分布,scipy里有现成的函数来实现:probplot()

这样就更明显,数据并不符合正态分布,因此进行data-transformation:

简单粗暴的log(1+x),对应numpy函数:log1p(data),转换后:

好多了。

 

转载于:https://www.cnblogs.com/fancyUtech/p/9056480.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值