matlab - for 循环迭代次数过多 - for 循环终止

标签 matlab machine-learning classification feature-selection

在分类任务中,我需要进行特征选择。因此,在 featSize = 98 功能(变量)中,我想知道哪些功能适用。对于每个组合,我通过调整其超参数来训练分类器。我在使用 for 循环时遇到了问题:

  for b = 1:(2^featSize) - 1
        % this is to choose the features. e.g. [1 0 0] selects the first
        % feature out of three features if featSize = 3.

end

Matlab 发出警告:警告:FOR 循环迭代次数过多。 9223372036854775806 次迭代后停止。 我是否以一种令人望而却步的方式使用 for 循环?还有其他替代方法可以完成此步骤吗?

最佳答案

为每种可能的特征组合构建模型是很困难的。从 for 循环中可以清楚地看出,您必须构建指数数量的模型才能覆盖每个功能子集。

有许多实用的特征选择方法。与您的方法最相似的一种是前向选择。许多算法提供正则化参数(例如 LASSO 或岭回归)。此处讨论了一些回归选项 https://stats.stackexchange.com/questions/127444/a-guide-to-regularization-strategies-in-regression

本次演讲涵盖了解决特征选择问题的多种方法https://www.youtube.com/watch?v=JsArBz46_3s&index=21&list=PLGVZCDnMOq0ovNxfxOqYcBcQOIny9Zvb-&t=0s

关于matlab - for 循环迭代次数过多 - for 循环终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51274597/

相关文章:

nlp - fastText 中的精度和召回率?

matlab - 从网站获取数据

matlab - 删除错误图中的较低标记

Matlab信号实现

performance - 为什么在类属性中改变元胞数组这么慢?

machine-learning - 在训练时监视 SageMaker

machine-learning - Keras 去噪自动编码器(表格数据)

machine-learning - 'OneHotEncoder' 对象没有属性 'transform'

r - R中的分类

python - 数据分类