持续的特征选择

数据挖掘 特征选择
2022-03-05 13:56:03

如果您有一组 n 个特征,则您有 2^n-1 个非空特征子集。因此,如果您选择其中之一,您不太可能找到最好的。

对我来说,当你构建模型时,你会想看看它做得不好的地方,并尝试找到有助于改进的功能,或者去掉似乎没有帮助的功能,这似乎很直观。

尽管我已经在实践中看到了这一点并且以这种方式蒙混过关,但我从未见过它背后的任何正式理论。您如何知道要在训练集中添加哪些功能?以及删除哪个?

1个回答

有多种特征选择技术。最常见的技术根据它们为目标带来的信息量对单个特征进行排名,例如信息增益条件熵

基于单个特征的技术是有效的(即快速)并且通常有助于降低维度和提高性能。但它们不一定是最优的,因为它们不能同时考虑特征子集的贡献。例如,他们可能会选择几个彼此之间高度相关的特征,即使只选择其中一个就足够了。

为了考虑特征如何相互作用,理想情况下,可以使用每个可能的特征子集训练和测试模型,然后选择最好的模型。然而,完全探索个子集很少可行,但可以使用一些优化方法,例如使用遗传学习进行特征选择。2N

请注意,还有特征提取技术。在这种情况下,不会保留特征的原始语义,因为整个特征集都被转换为新的表示。