特征工程之特征表达
demi 在 周一, 04/22/2019 - 16:43 提交
在特征工程之特征选择中,我们讲到了特征选择的一些要点。本篇我们继续讨论特征工程,不过会重点关注于特征表达部分,即如果对某一个特征的具体表现形式做处理。主要包括缺失值处理,特殊的特征处理比如时间和地理位置处理,离散特征的连续化和离散化处理,连续特征的离散化处理几个方面。
在特征工程之特征选择中,我们讲到了特征选择的一些要点。本篇我们继续讨论特征工程,不过会重点关注于特征表达部分,即如果对某一个特征的具体表现形式做处理。主要包括缺失值处理,特殊的特征处理比如时间和地理位置处理,离散特征的连续化和离散化处理,连续特征的离散化处理几个方面。
机器学习的特征工程是将原始的输入数据转换成特征,以便于更好的表示潜在的问题,并有助于提高预测模型准确性的过程。找出合适的特征是很困难且耗时的工作,它需要专家知识,而应用机器学习基本也可以理解成特征工程。但是,特征工程对机器学习模型的应用有很大影响,有句俗话叫做“数据和特征决定了机器学习模型的性能上限”。
特征工程是数据分析中最耗时间和精力的一部分工作,它不像算法和模型那样是确定的步骤,更多是工程上的经验和权衡。因此没有统一的方法。这里只是对一些常用的方法做一个总结。本文关注于特征选择部分。后面还有两篇会关注于特征表达和特征预处理。
当特征选择完成后,可以直接训练模型了,但是可能由于特征矩阵过大,导致计算量大,训练时间长的问题,因此降低特征矩阵维度也是必不可少的。降维(dimensionality reduction)是指通过对原有的feature进行重新组合,形成新的feature,选取其中的principal components。
当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。通常来说,从两个方面考虑来选择特征:特征是否发散——如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用;特征与目标的相关性——这点比较显见,与目标相关性高的特征,应当优选选择。
特征工程(Feature Engineering)目的是最大限度地从原始数据中提取特征以供算法和模型使用,是数据挖掘模型开发中最耗时、最重要的一步。内容包括:特征处理(Feature Processing)、特征选择(Feature Selection)。
当在做数据挖掘和数据分析时,数据是所有问题的基础,并且会影响整个工程的流程。相比一些复杂的算法,如何灵活的处理好数据经常会取到意想不到的效益。而处理数据不可或缺的需要使用到特征工程。简单的说,特征工程是能够将数据像艺术一样展现的技术。为什么这么说呢?因为好的特征工程很好的混合了专业领域知识、直觉和基本的数学能力。但是最有效的数据呈现其实并不涉及任何的数据运算。