三个有效的特征选择策略
由ypyu创建,最终由ypyu 被浏览 428 用户
导语
特征选择是除数据之外最关键的步骤。尽管这一步非常必要,但很多指导文章中却完全忽略这一过程。
本文将展示一些很棒的特征选择方法,帮助读者在机器学习中更加如鱼得水。
特征选择是什么?实际问题中,需要什么样的特征来帮助解决建模并不总是很清晰。在这个问题上,数据总是存在各种问题,比如数据过多,不相关等。特征选择主要研究如何使用算法选择出重要特征。
那为什么不将所有的特征都扔进机器学习模型,然后收工回家呢?
在实际问题中可能没有开源数据集,或者这些数据不总是含有解决问题的相关信息。在这些现实问题面前,特征选择能够最大化数据相关性,降低数据冗余度。这有助于建立好的模型,减小模型大小。
最好的特征选择方法。
现需要预测水上公园的门票销售量。我们决定关注天气数据,冰淇淋消费量,咖啡消费量和月份。
从图1中可以看出,夏天比其他的季节能够销售出更多的门票,冬天销售出0张门票。咖啡消费量看起来全年稳定。冰淇淋全年都存在消费,消费量在六月份达到顶峰。
$ 表1:案例数据表格 $
$ 表1:案例数据示意图 $
我们想要预测门票销售,但我们不需要为了得到最好结果获取全部数据。只要得到N维合适的数据和一个K值就会得到最好的结果。然而这里有海量的数据,都是不同大小数据集的组合。
我们的目标是在不损害预测能力的情况下,降低数据维数。现在退一步回来看看能够使用的工具。
彻底的研究
这个工具百分百地找到构建模型的最好的特征组合,因为它搜索每一个特征的可能的组合,然后找到数据维度最低的组合。
在本文案例中,有15个可能的组合。计算组合的数量需采用公式:$ 2^n-1$。这个方法对少量特征管用,但当你有3000个特征时,事情很快会失去控制。
幸运的是,这里还有一个比较好的方法。
随机特征选择
随机特征挑选在大多数情况下都工作得很好。假设你想将特征降低50%,随机挑选50%的特征移除即可。然后训练模型,验证性能。重复以上过程直到满意为止。比较难过的是,这仍然是一个暴力解决问题的方法。
如果你有一大堆特征,你会怎么做?
最小冗余最大相关特征选择
把所有的想法揉合到一个算法里,这就是最小冗余最大相关(mRMR)特征选择。算法思想为:最小化特征冗余度的同时最大化相关性。相关性和冗余度计算公式如下:
$ Relevancy = \frac{\sum_{i=1}^n{c_ix_i}}{\sum_{i=1}^n{x_i}} $
$ Redundancy = \frac{\sum_{i,j=1}^n{a_{ij}x_ix_j}}{(\sum_{i=1}^n{x_i})^2} $
实现mRMR的算法策略如下:
策略案例
https://bigquant.com/experimentshare/7a12fa987e7f4731a63cd8e0dbbfd693
这个结果并非如预想那样:冰淇淋的消费看来可以很好地预测门票销售,气温则不能。在这个案例中看来,我们只需要一个变量就可以很精确地模拟门票销售,但很可能与你以后需处理问题非常不一样,
结论
通过本文,读者应该已经很好地理解特征选择的方法和效果:帮助减少特征数量,帮助构造输出既定目标的最好模型。