数据处理及特征工程

为什么需要数据处理

为什么需要数据处理?我理解还是因为算法依赖于数据驱动,还是比较简单的。如果没有人的介入,算法自己很“笨”会出现很多问题。为了解决问题,我们需要一些处理的方法。比如:

  • 无量纲化:最值归一化、均值方差归一化及sklearn中的Scaler
  • 缺失值处理
  • 处理分类型特征:编码与哑变量
  • 处理连续型特征:二值化与分段

比如为什么要归一化就是因为样本的不同特征的单位不同,不能用统一的理解。比如时间和速度,但计算机不理解,对他们来说只是一个特征而已。所以我们的解决方法:把所有的数据都映射到同一个尺度(量纲)上。

其他场景的处理方法比如将数值型数据转化成类别型数据。连续值的取值空间可能是无穷的,为了便于表示和在模型中处理,需要对连续值特征进行离散化处理。等等

为什么需要特征工程

其实原因也是一样,模型比较“笨”

不用做特征工程就是好的吗

从算法层面上确实是,因为这减少了平常很多工作量,让我们做更有意义的事情。但是客户也这么认为吗

其实不一定,我们就遇见过提出一个更好的自动建模方案后,客户反而接受不了,为什么不做特征工程,不做效果就肯定好不了

所以单纯技术的提升,最终落地还是要考虑如何影响用户的心智,而不能指望客户像本公司的技术人员一样,理所当然的认为减少工作量就是好的。

Sign in or Sign up Leave Comment