问题标签 [rfe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python ,特征选择
当我使用 RFE 选择数据集中最重要的特征时,它会返回所有特征,而不是返回我指定的特征数量
这是简单的代码:
python - Keras 模型上的递归特征消除 (RFE) - TypeError: can't pickle _thread.RLock objects
我想跟进上一个问题(Keras 模型上的递归特征消除),因为我遇到了障碍。我目前正在尝试实现以下内容(为了便于阅读,并非我的所有代码都在这里):
但是,在我尝试拟合模型的下一行中,这似乎是有用的:
我收到以下错误:
任何想法/帮助将不胜感激。编辑:
错误堆栈:
python - 在 RFECV scikit-learn 中获取功能
我想知道是否有任何方法可以获得特定分数的功能:
在这种情况下,我想知道,当#Features = 10 时,选择的 10 个特征会达到峰值。
有任何想法吗?
编辑:
这是用于获取该图的代码:
r - R 在 RFE(递归特征消除)中使用我自己的模型来选择重要特征
使用 RFE,您可以获得特征的重要性等级,但现在我只能使用包内的模型和参数,如:lmFuncs(linear model),rfFuncs(random forest)
似乎
可以为自己的模型和参数做一些自定义设置,但我不知道细节,正式文件没有详细说明,我想将svm和gbm应用于这个RFE过程,因为这是我使用的当前模型训练,有人知道吗?
r - 带有插入符号计算问题的 R 并行处理
目前正在尝试使用并行处理重现 SVM 递归特征消除算法,但在并行化后端遇到了一些问题。
当 RFE SVM 算法成功并行运行时,这大约需要 250 秒。但是,大多数情况下它永远不会完成计算,需要在 30 分钟后手动关闭。当后者发生时,活动监视器的检查显示尽管 Rstudio 已将其关闭,但内核仍在运行。这些核心需要killall R
从终端终止。
包中的代码片段AppliedPredictiveModeling
如下,删除了多余的代码。
这不是唯一给我带来问题的模型。有时带有 RFE 的随机森林也会导致同样的问题。原始代码使用包doMQ
,但是,活动监视器的检查显示多个rsession
用作并行化,并且我猜测使用 GUI 运行,因为当计算不停止时关闭它需要中止整个 R 通信并重新启动会话,而不是简单地放弃计算。前者当然有把我的环境擦干净的不幸后果。
我正在使用 2013 年中期的 8 核 MacBook Pro。
知道可能导致此问题的原因是什么吗?有没有办法解决它,如果有,怎么办?有没有办法确保并行化在没有 GUI 的情况下运行而不从终端运行脚本(我想控制执行哪些模型以及何时执行)。
编辑:似乎在退出失败的执行后,R 在所有通过 Caret 并行化的后续任务上都失败了,即使是之前运行的那些。这意味着集群不再运行。
scikit-learn - 计算递归特征消除的 RFE
我有一个名为“dataset_con_enc”的数据框。
……
我尝试对特征选择进行递归特征消除,所以:
但我在最后一行代码中得到一个错误:
你能帮我解决这个问题吗?谢谢你
scikit-learn - 将 sklearn RFE 与另一个包中的估计器一起使用
是否可以将 sklearn 递归特征消除(RFE)与另一个包中的估计器一起使用?
具体来说,我想使用 statsmodels 包中的 GLM 并将其包装在 sklearn RFE 中?
如果是的话,你能举一些例子吗?
scikit-learn - 使用 CV 进行递归特征消除不会减少特征数
我有这个蛋白质数据集,我需要对其执行 RFE。有 100 个带有二进制类标签(生病 - 1,健康 - 0)的示例和每个示例的 9847 个特征。为了降低维度,我正在使用 LogisticRegression 估计器和 5 倍 CV 执行 RFECV。这是代码:
选择的功能数量:9874
然后我绘制特征数量与 CV 分数的关系:
我认为正在发生的事情(这就是我需要专家的原因)是第一个峰值显示了最佳数量的特征。之后曲线下降并且由于过度拟合而再次开始攀升,而不是真正分离类别而是示例。会是这样吗?如果是这样,我怎样才能获得这些特征(即第一个峰值的那些),因为 rfecv.support_ 只给我达到最高准确度的那些(意思是:所有这些)。
当我在做这件事时:我将如何为 RFE 选择最佳估算器?只是通过反复试验,遍历所有可能的分类器,还是有任何逻辑为什么我会在线性 SVC 上使用 Logit?
r - 使用插入符号 rfe 进行特征选择并使用另一种方法进行训练
现在,我正在尝试使用 Caret rfe 函数来执行特征选择,因为我处于 p>>n 的情况,并且大多数不涉及某种正则化的回归技术都不能很好地使用。我已经使用了一些正则化技术(Lasso),但我现在想尝试的是减少我的特征数量,以便我能够至少体面地运行任何类型的回归算法。
现在,如果我这样做,将运行使用随机森林的特征选择算法,然后根据 5 折交叉验证,将具有最佳特征集的模型用于预测,对?
我在这里对两件事感到好奇:1)有没有一种简单的方法来获取一组特征,并在其上训练另一个用于特征选择的函数?例如,将特征数量从 500 个减少到 20 个左右,这看起来更重要,然后应用 k-最近邻域。
我正在想象一种简单的方法来做到这一点,看起来像这样:
2)有没有办法调整特征选择算法的参数?我想对 mtry 的值进行一些控制。与使用 Caret 中的 train 函数时传递值网格的方式相同。有没有办法用 rfe 做这样的事情?