我正在为现实世界的问题研究两种特征选择算法,其中样本大小为 30,特征大小为 80。第一个算法是使用 SVM 分类器的包装前向特征选择,第二个是使用 Pearson 产品的过滤器特征选择算法-矩相关系数和斯 PIL 曼等级相关系数。事实证明,这两种算法选择的特征根本不重叠。合理吗?这是否意味着我在实现过程中犯了错误?谢谢。 仅供引用,我正在使用 Libsvm + matlab。
最佳答案
这种情况肯定会发生,因为两种策略的表达能力不同。
如果您想要最佳的特征子集进行预测,请信任包装器;如果您想要链接到输出/预测变量的所有特征,请信任相关性。这些子集可能会有很大不同,特别是如果您有许多冗余功能。
使用最相关的特征是一种策略,它假设特征和输出/预测变量之间的关系是线性的(或者至少在斯 PIL 曼等级相关的情况下是单调的),并且特征在统计上彼此独立,并且不要互相“互动”。这些假设在现实世界的问题中最常被违反。
相关性或其他“过滤器”(例如互信息)最好用于过滤掉特征,决定不考虑哪些特征,而不是决定考虑哪些特征。当初始特征数量非常大(数百、数千)时,需要使用过滤器来减少后续包装器算法的工作量。
关于matlab - 两个特征选择算法的结果不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19762953/