特征工程的具体过程则由以下四点决定:
1、评估模型优劣的方法、指标是什么?(RMSE还是AUC等)
2、要解决的问题属于分类问题还是回归问题..
3、具体使用的模型是什么?(决策树、svm还是什么)
4、原始数据的形态?是否抽样、是否为结构化数据?是否进行了数据清理等
一、特征提取,从原始数据中自动构造新特征:
通常得到的原始数据,比如音频、图像、文本等,使用列表数据表示时,其原始特征集通常可大数百万维。如此高的维数,怎么将它的维数减小并利于建模,就是特征提取需要做的事情了。特征提取的方法因具体领域而不同,对于列表数据,可以使用PCA、CCA等方法进行降维,提取重要的特征表示;对于图像音频数据,小波分析、傅里叶分析等信号处理领域的一些通用方法都可以借鉴。
二,特征选取,从大量特征中选取有有用的特征:
通常经过特征提取步骤得到的特征量依然较大,在大量特征中,需要识别出哪些特征有利于提高模型质量。一般从一下三方面进行考虑:1、特征与待解决问题的相关性 2、特征对模型精度的影响 3、特征彼此间存在的冗余性。从这三个方面考虑后,将一些不必要的特征从特征集中去除,将得到一个更优质的特征集。一些通用的方法包括:1、使用卡方检验获得特征与待解决问题间的相关性,2、使用决策树选取分类、回归精度高的特征 3、使用皮尔逊相关系数检验特征间的相关性。去除冗余性。
三,特征构造:由人工从原始数据集中构造出新特征:
原始数据集中存在的部分模式、结构上的信息,需要由人进行总结提取。对应于自动特征提取,这一部分可以称之为人工特征提取。这一部分主要依赖于从业人员的经验、直觉,同时可以借助一些统计工具、指标,进行探索性的提取新特征。能不能有效果,就看机缘和人品了。
四,特征学习,从原始数据集中自动识别和使用特征:
特征提取,特征选取,特征构造无不依赖于人工 或定义特征 或定义获得特征的方法,同时原始数据集也依赖于人工方式进行转换,特征处理在建模过程中依然是个棘手的问题。目前主要借助深度学习的思路,使用自编码或者受限波尔兹曼机来进行特征提取。
总的来说,特征工程怎么做,还是取决于具体的数据和业务,做的好不好在,直接关系到模型的输出效果。