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