在上篇中已经介绍了特征选择的其中一大方法--过滤法。本篇将继续介绍特征选择与特征提取方法,其主要内容如下所示。
嵌入法是一种让算法自己决定使用哪些特征的方法,即特征选择和算法训练同时进行。在使用嵌入法时,我们先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据权值系数从大到小选择特征。
这些权值系数往往代表了特征对于模型的某种贡献或某种重要性,比如决策树和树的集成模型中的 属性,可以列出各个特征对树的建立的贡献,我们就可以基于这种贡献的评估,找出对模型建立最有用的特征。
因此相比于过滤法,嵌入法的结果会更加精确到模型的效用本身,对于提高模型效力有更好的效果。
是一个元变换器,可以与任何在拟合后具有 属性或参数中可选惩罚项的评估器一起使用(比如随机森林和树模型就具有属性,逻辑回归就带有l1和l2惩罚项,线性支持向量机也支持l2惩罚项)。
基于树的特征选择
极端随机树分类器
极端随机树ET或Extra-Trees(Extremely randomized trees)是由PierreGeurts等人于2006年提出。该算法与随机森林算法十分相似,都是由许多决策树构成。但该算法与随机森林有两点主要的区别:
L1正则化
使用惩罚项的模型的嵌入法。
而对于使用惩罚项的模型来说,正则化惩罚项越大,特征在模型中对应的系数就会越小。当正则化惩罚项大到一定的程度的时候,部分特征系数会变成0,当正则化惩罚项继续增大到一定程度时,所有的特征系数都会趋于0。
但是我们会发现一部分特征系数会更容易先变成0,这部分系数就是可以筛掉的。也就是说,我们选择特征系数较大的特征。
另外,支持向量机和逻辑回归使用参数C来控制返回的特征矩阵的稀疏性,参数C越小,返回的特征越少。Lasso回归,用参数来控制返回的特征矩阵,的值越大,返回的特征越少。
使用L1正则化作为惩罚项的线性模型会得到稀疏解:大部分特征对应的系数为0。特别指出,常用于此目的的稀疏预测模型有:
linear_model.Lasso(回归) linear_model.LogisticRegression svm.LinearSVC(分类)
岭回归
前面LASSO是L1正则化,而岭回归是L2正则化。
包装法也是一个特征选择和算法训练同时进行的方法,与嵌入法十分相似,它也是依赖于算法自身的选择,比如coef_属性或feature_importances_ 属性来完成特征选择。
包装法在初始特征集上训练评估器,并且通过coef_ 属性或通过feature_importances_ 属性获得每个特征的重要性。然后,从当前的一组特征中修剪最不重要的特征。
在修剪的集合上递归地重复该过程,直到最终到达所需数量的要选择的特征。区别于过滤法和嵌入法的一次训练解决所有问题,包装法要使用特征子集进行多次训练,因此它所需要的计算成本是最高的。
递归特性消除
最典型的评估器是递归特征消除法 (Recursive feature elimination, 简写为RFE) 。它是一种贪婪的优化算法, 旨在找到性能最佳的特征子集。
它反复创建模型,并在每次迭代时保留最佳特征或剔除最差特征,下一次迭代时,它会使用上一次建模中没有被选中的特征来构建下一个模型,直到所有特征都耗尽为止。
然后,它根据自己保留或剔除特征的顺序来对特征进行排名,最终选出一个最佳子集。
另外还有一个RFECV通过交叉验证的方式执行RFE,以此来选择最佳数量的特征。
多种方法整合
特征提取(特征工程)是将原始数据转化为适合建模的特征。特征提取被用于所有的机器学习算法。
特征提取用于文本、图像、地理空间数据、日期和时间,以及时间序列。
特征提取从一组初始测量数据开始,并构建具有信息性和非冗余性的派生值(特征),促进后续的学习和泛化步骤,在某些情况下还会导致更好的人类解释。
特征提取是一个降维过程,原始变量的初始集合被简化为更易于处理的组(特征),同时仍然准确和完整地描述原始数据集。(维基百科)
特征工程是使用数据的领域知识来创建特征,使机器学习算法工作的过程。特征工程是机器学习应用的基础,既困难又昂贵。(维基百科)
数据准备
tsfresh特征提取
需要安装第三方模块:
TsFresh能自动地计算出大量的时间序列特征,即所谓的特征,这些特征描述了时间序列的基本特征,如峰数、平均值或最大值或更复杂的特征,如时间反转对称统计。
同时通过假设检验来将特征消减到最能解释趋势的特征,称为去相关性。然后,可以使用这些特征集在时间序列上构造统计或机器学习模型,例如在回归或分类任务中使用。
指定少量特征提取
对整个数据表提取特征
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/12435.html