特征工程师数据分析里面的重要的一步,数据预处理只是对数据的一个比较简单的处理,比如填充缺失值、去重这些。特征工程关注的是一种更加数理化的数据处理方法,根据更加严谨的数学过程对数据进行处理,比如归一化、标准化、特征缩放、独热编码,特征选择等等

时间戳处理

时间戳通常需要分离成多个维度,比如年,月,日,小时,分钟,秒钟。在很多的应用中大量的信息是不需要的,因此我们在呈现时间的时候只需要保证时间特征符合模型的所需

离散型变量处理

举一个简单的例子{红,黄,蓝}组成的离散型变量,最常见的方法是将每个变量值转化为二元属性{0,1}其中的一个值,这个也叫做独热编码

分箱\ 分区

将连续型变量转化为类别有时更有意义,在衡量年龄的时候,可以将年龄分为老中青三段,这样子不仅有利于数据可视化,在一定程度上能够防止数据过拟合

一些技巧

可以先利用一些统计值筛选特征,比如缺失比例大于99%,或者信息量较少的特征。然后再去做特征编码,在编码后也可以利用模型去筛选特征。如果原始数据的特征足够有效,则可以不做特征筛选。在做加特征的时候也要注意不要加无效的特征,否则也会增加筛选的难度。利用统计值筛选,会更加靠谱一些。如果利用模型筛选,则是「嵌入式」的筛选方法。并不是都要做。对于类别字段首先看类别字段的取值空间,如果足够小,则可以考虑OneHot。然后再去通过EDA分析一下频率编码和目标编码是不是足够有区分性。再去决定做不做。