matlab - 两个特征选择算法的结果不匹配

标签 matlab machine-learning classification feature-selection

我正在为现实世界的问题研究两种特征选择算法,其中样本大小为 30,特征大小为 80。第一个算法是使用 SVM 分类器的包装前向特征选择,第二个是使用 Pearson 产品的过滤器特征选择算法-矩相关系数和斯 PIL 曼等级相关系数。事实证明,这两种算法选择的特征根本不重叠。合理吗?这是否意味着我在实现过程中犯了错误?谢谢。 仅供引用,我正在使用 Libsvm + matlab。

最佳答案

这种情况肯定会发生,因为两种策略的表达能力不同。

如果您想要最佳的特征子集进行预测,请信任包装器;如果您想要链接到输出/预测变量的所有特征,请信任相关性。这些子集可能会有很大不同,特别是如果您有许多冗余功能。

使用最相关的特征是一种策略,它假设特征和输出/预测变量之间的关系是线性的(或者至少在斯 PIL 曼等级相关的情况下是单调的),并且特征在统计上彼此独立,并且不要互相“互动”。这些假设在现实世界的问题中最常被违反。

相关性或其他“过滤器”(例如互信息)最好用于过滤掉特征,决定不考虑哪些特征,而不是决定考虑哪些特征。当初始特征数量非常大(数百、数千)时,需要使用过滤器来减少后续包装器算法的工作量。

关于matlab - 两个特征选择算法的结果不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19762953/

相关文章:

matlab - 使用 Matlab spy 函数可视化具有强度的稀疏模式

matlab - MATLAB 中的 3D 高斯滤波器

python - 无法使用category_encoders的fit_transform对我的数据进行序数编码

Caret 中每次交叉验证的训练集和测试集的 ROC 曲线

python - 决策树分类器我不断收到 NaN 错误

java - 在 WEKA 中运行交叉验证之前是否需要应用过滤器

performance - 带/不带循环的 Matlab 性能

python - 我需要用从该向量中获取的值来填充矩阵

java - 将 Weka DecisionTree 从 Java API 导出到 XML 或 JSON

machine-learning - 为什么knn分类器中要使用排列?