matlab - 太多 for 循环迭代 - for 循环终止
问题描述
在分类任务中,我需要进行特征选择。所以出于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 发出警告:Warning: Too many FOR loop iterations. Stopping after 9223372036854775806 iterations.
我是否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
推荐阅读
- python - Transformer 中 Optional[Tensor] 是什么意思?
- python - 使用 [start:stop:step] 在 python 中反转一段字符串
- typescript - 如何在使用 botbuilder 的机器人中将实体标识为 Microsoft Teams 上下文中的标签?
- android - 如何将字符串转换为小时、分钟、秒的时间作为颤动中的整数?
- python - 请求库在 Twitter / Python 上不起作用
- pytorch - AttributeError:“DataModuleClass”对象没有属性“training_dataset”
- mysql - MYSQL:用团队中的顺序更新表
- asp.net-core - 如何解决缺少对 Ifragistics UI 的引用 - CS1061 编译器错误
- javascript - 如何使用 redux 管理表单状态并以多步骤形式做出反应?
- transactions - 电子商务应用程序的推荐事务隔离级别是多少?