特征选择直接影响模型灵活性、性能及是否简洁。
好特征的灵活性在于它允许你选择不复杂的模型,同时运行速度也更快,也更容易理解和维护。
特征选择
四个过程:产生过程,评价函数,停止准则,验证过程。
目的:过滤特征集合中不重要特征,挑选一组最具统计意义的特征子集,从而达到降维的效果。
选择标准:特征项和类别项之间的相关性(特征重要性)。
- - -搜索特征子空间的产生过程- - -
搜索的算法分为完全搜索(Complete),启发式搜索(Heuristic), 随机搜索(Random) 3大类。
完全搜索包括(4种):广度优先搜索(穷举法)、分支限界搜索(穷举法+剪枝)、 定向搜索(选择TopN)、最优优先搜索(TopN问题不限制N)
启发式搜索包括(6种):
序列前向选择SFS(简单贪心,每次选使评价函数达到最优的特征)、序列后向选择SBS(简单贪心,每次剔除特征)、 双向搜索BDS(SFS与SBS同时开始,碰撞时结束);
增L去R选择算法 LRS(空集开始先加L后去R、全集开始先去R后加L)、序列浮动选择(LRS法不固定L与R)、决策树搜索(让树充分生长、然后剪枝,通过信息熵评价)
随机算法搜索(3种):随机产生序列选择算法RGSS(随机产生特征子集,运行SFS或SBS)、模拟退火算法SA(克服序列搜索局部最优、但最优解区域很小时不适用)、遗传算法GA(随机产生特征子集,评分,然后交叉、突变等繁衍出下一代特征子集)
- - - - 特征选择与评价函数 - - - -
评价函数的作用是评价产生过程所提供的特征子集的好坏。
评价函数根据其工作原理,主要分为筛选器(Filter)、封装器( Wrapper )两大类。
封装器实质上是一个分类器,封装器用选取的特征子集对样本集进行分类,分类的错误率作为衡量特征子集好坏的标准。
筛选器通过分析特征子集内部的特点来衡量其好坏。筛选器一般用作预处理,与分类器的选择无关。特征选择法主要指筛选器的选择方法。
筛选器选择特征:
预处理:首先去掉取值变化小的特征(对系统影响最小、最不重要的特征),接下来有四种方法:
单变量的特征选择方法、基于机器学习模型的选择法、随机森林法、顶层特征选择法(基于不同的模型选择法)