关于显性特征的处理方法可以做这样的类比:不知道大家平时会不会自己做菜,我个人的话基本每周都会做。我们从菜市场买的菜,不经过处理是不能下锅的,因为需要清洗、摘取烂的叶子、切段等操作后才可以下锅。如果把机器学习整个流程比做炒一盘青菜的话,今天要介绍这些方式就有点像菜的前期处理过程。那我们就分类别介绍下,对于一份数据,需要针对特征做哪些处理。
1.数据清洗
主要包括两方面,一方面是填充缺失值,因为在机器学习算法的计算过程中会对数据进行各种运算符的计算,需要把一些空值填充,通常会被填充为0或者是对应特征列的均值。第二方面是乱码问题,如果是文本数据,经常会出现编码问题,需要把数据的类型全部处理好,最好是double型的。
2.去量纲
因为数据的量纲会影响到某些算法的计算,比如有两个字段数据分别是一个人吃饭用了多少秒、吃了多少斤饭,那一个是时间数据,另一个是重量数据,算法是无法感知这些量纲的影响的,所以需要一些数学手段规避。去量纲常用的方法是归一化和标准化。
标准化就是每个特征值减去均值再除以方差,表现的是数据的一个分布情况。
归一化是把数据的分布强制性的限制到0和1之间,使得向量单位化。
个人认为标准化对于刻画数据的特征效果更好。
3.数据平滑
大家可能平时会接触到一些分布极不均匀的数据,比如一个数据区间是[0,256],但是百分之九十以上的数据分布在[0,10]和[200,256]这两个区间中。对于这样的数据可以通过取对数的方式来处理,让数据的分布更加平滑。或者干脆数据分桶,取一个中间阈值128,小于128的标记为0,大于128的标记为1。
4.数据去噪
很多时候数据因为采集方式可能出现各别事故,比如有的数据是靠调查问卷采集上来的,但是就有一个人不认真写,瞎写,造成了噪声数据。这种跟事实偏差极大的数据,可以通过正态分布的原理去除,因为可以设想数据的分布大部分是比较平均的,符合正态分布,那与均值偏差极大的部分就很有可能是噪声,需要去除。
5.降维
降维的方式很多啦,如果要讲的话需要非常大的篇幅,之前在写书的时候已经写了一遍了~有点懒,在这里简单提下。其实除了PCA、LDA这两种降维方式以外,逻辑回归中的正则L1也可以理解为一种降维处理。
转自:https://mp.weixin.qq.com/s?__biz=MzA4MDI0NDQyOQ==&mid=2447500068&idx=1&sn=8b555450ef18f943a708c290cbb9eceb&chksm=8bb27886bcc5f1907be3a5a4f083e143d96a0bc20ffbf02a86c99520b22ef0c27907f9835842&mpshare=1&scene=23&srcid=0206Uayr6EAXH36JzWDdp4dY#rd