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