实现特征选择的后向贪婪

时间:2013-06-05 08:46:12

标签: algorithm machine-learning greedy feature-selection

我正在尝试应用具有1700个功能和3300个实例的数据集的功能选择。特征选择的一种方法是逐步回归。这是一种贪婪算法,可以删除每一轮中最差的特征。

我在SVM上使用数据的性能作为度量来查找哪个是最糟糕的功能。第一次,我训练SVM 1700次,每次只保留一个功能。在此迭代结束时,我从集合中删除了删除导致最高SVM性能的功能。所以我们现在剩下1699个功能。

第二次,我训练SVM 1699次,每次都保留一个功能,依此类推。

如果我想将数据集减少到100个特征,那么该程序将训练SVM(1700!-100!)次。这是棘手的。关于如何避免这种问题的任何建议?

1 个答案:

答案 0 :(得分:2)

我首先要说你可能想要考虑不同的算法,例如:使用infogain。

然而,要回答这个问题:您可以尝试在每次迭代时消除多个特征;从消除许多功能开始,并在您前进时减少此数量。

E.g。在第一次运行之后(1700个SVM列车),而不是仅消除一个功能,消除最差的200个功能,然后重复1500,等等。当你到达时,比如300个功能每次开始消除10个;然后从150到100在每次迭代后消除一个。这将需要“仅”训练SVM大约20K次。如果仍然太多,你可以增加数字。我推测结果将非常相似,或者至少不会比你建议的那样差。