问题标签 [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.

0 投票
1 回答
1468 浏览

pandas - Scikit 学习使用 RFE 对特征进行排名,包括分数

我想使用 Scikit learn 在我的数据框中找到每个功能的重要性。

我正在尝试在 Scikit learn 中使用它,而不是通过 WEKA 软件使用 Info Gain,该软件提供分数和旁边的功能名称。

我实现了下一个方法,但是我不知道如何替换分数中的排名数字。

例如:

我不想看到:

  1. 功能 6
  2. 特色 4

...

但是,我更喜欢:

0.4 特征 6

0.233 特征 4

...

这是我的方法:

有人知道如何从排名转换为分数吗?

0 投票
1 回答
546 浏览

r - sbf() 是否使用 metric 参数来优化模型?

ROC作为metric参数值传递给caretSBF函数

我们的目标是使用 ROC 汇总指标进行模型选择,同时运行通过过滤选择sbf()功能进行特征选择。

BreastCancer数据集被用作从mlbench包到运行train()以及sbf()使用metric = "Accuracy"和使用的可重复示例metric = "ROC"

我们要确保sbf()采用and函数metric应用的参数来优化模型。为此,我们计划用函数来使用函数。该函数调用,并传递给。train()rfe()train()sbf()caretSBF$fittrain()caretSBFsbfControl

从输出来看,该metric参数似乎仅用于该部分,inner resampling而不用于该sbf部分,即对于outer resampling输出的 ,该metric参数未应用于train()and rfe()

正如我们所使用caretSBF的 which uses train(),看来metric参数的范围仅限于train(),因此不会传递给sbf

我们希望澄清是否sbf()使用metric参数来优化模型,即outer resampling

这是我们在可重现示例上的工作,使用and显示train()使用metric参数,但我们不确定。AccuracyROCsbf

一、数据部分

二、自定义汇总功能

定义fiveStats汇总函数

三、火车部分

定义 trControl

火车 + 公制 = “准确度”

火车+公制=“ROC”

四。编辑插入符号SBF

编辑 caretSBF 汇总函数

五、SBF部分

定义 sbfControl

SBF + METRIC =“准确度”

SBF + 公制 = "ROC"

是否sbf()使用metric参数来优化模型?如果是,默认使用什么metricsbf()如果sbf()使用metric参数,那么如何将其设置为ROC

谢谢。

0 投票
1 回答
552 浏览

python - 进入 RFE 并获取“DataFrame 对象不可调用”错误

我第一次尝试使用 RFE 并将我的头撞到“DataFrame 对象不可调用”错误。

这是我的代码

我正在查看具有 49 个特征的数据集,我正在寻找的输出是这些特征中的哪些应该保留,哪些被踢出。

如果有人可以帮助我弄清楚如何将其放入 RFECV,则可以加分!

0 投票
1 回答
398 浏览

python - 迭代RFE分数sklearn

我使用带有 ExtraTreeRegressor 的 RFE 作为估计器,以便在回归问题中进行 SupervisedFeatureSelection。

我使用以下通用代码从模型中获得排名和支持:

我想要的是更深入的信息,因此每次 RFE 迭代的分数或特征评估。我注意到有一些像_fit这样的隐藏函数,我正在考虑试图强制step_score参数不同于none......关键是我无法达到我想要的......(我是 python 新手...)我想在每次迭代时打印分数。有没有人有过这样的任务经验?step_score 参数的正确值应该是多少?(我尝试过使用布尔值,但它不起作用)

感谢您的任何建议!!!

0 投票
0 回答
600 浏览

python - RFE 为选择的不同数量的特征提供相同的精度

在该程序中,我每 2.5 秒扫描一系列以 40 x 64 x 64 图像的时间序列采集的大脑样本。因此,每个图像中的“体素”(3D 像素)的数量约为 168,000 ish(40 * 64 * 64),每个都是图像样本的“特征”。

我想到了使用递归特征消除(RFE)。然后使用主成分分析 (PCA) 进行跟进,因为 n 非常高,可以执行降维。

有 9 个类要预测。因此是一个多类分类问题。从 RFE 开始:

现在执行 PCA:

使用 SVM 训练缩减的组件数据集

现在将训练集转换为 RFE-PCA 减少并进行预测

我对我的数据子集进行了训练,得到了76.92%。我不太担心数字太低,因为它只针对我的数据集的 1/12 进行训练。

我尝试将训练规模加倍并获得92%的准确率。这很不错。但后来我针对整个数据集进行了训练,准确率达到了92.5%

所以我的数据集增加了 6 倍,准确率提高了 0.5%。此外,数据样本没有噪音。所以样本没有问题。

此外,对于 1/12 的数据集训练大小,当我选择 n_features_to_select = 1000 时,我得到相同的 76.92%。(20000 相同!!)在执行 RFE 时。这里一定有问题。为什么选择这么少的特征时我得到相同的性能?

0 投票
1 回答
2051 浏览

r - R 插入符号包 rfe 错误 - “参数不能解释为逻辑”

我正在尝试将 rfeControl 和 rfe 用于使用 svm 的简单特征选择任务。输入文件很小,有 20 个特征和 414 个样本。输入可以在这里找到 [ https://www.dropbox.com/sh/hj91gd06dbbyi1o/AABTHPuP4kI85onSqBiGH_ISa?dl=0]

忽略警告,我对以下错误的不理解是,据我了解,当 metric==RMSE 时最大化取值,但是,我在执行分类时具有 metric==Accuracy(参考:https ://github.com /topepo/caret/blob/master/pkg/caret/R/rfe.R):

代码如下:

提前致谢。

0 投票
1 回答
3066 浏览

python - scikit-learn 中回归交叉验证的递归特征消除

我想使用 scikit-learn 对我的回归问题应用像递归特征消除这样的包装方法。使用交叉验证的递归特征消除很好地概述了如何自动调整特征数量。

我试过这个:

但我收到一条错误消息,例如

警告听起来像是我有分类问题,但我的任务是回归问题。我该怎么做才能得到结果?出了什么问题?

0 投票
0 回答
326 浏览

r - 带有插入符号的 SVM 分类训练 RFE 失败

我正在尝试使用caret包对一些栅格数据进行分类。一切正常,RandomForest我只想尝试 SVM 分类器,但出现错误。

数据从不同的栅格聚合(1x1 km,50cm 分辨率聚合到 2.5m,统计数据为 max、min、mean、median 和 std),存储在如下数据框中:

具有分类训练数据的未缩放表

然后我使用以下代码缩放此数据(training_high_final 是训练表,第 1 列是“索引”,第 22 列是“类值”:

缩放表如下所示: 缩放表

发生错误的反向特征消除的代码:

结果:

我之前尝试过更多变量(现在只有 20 个,在我有 ~80 个之前)并得到了错误

任务 1 失败 - “停止”。

有 170 个没有 NA 数据的训练样本。

0 投票
0 回答
149 浏览

r - ggplot:如何更改 RFE 图的可视化?

我有一个 RFE 输出,rfe2014从另一个 R 会话保存:

通过 ggplot 绘图效果很好:

RFE 图在这里

如何更改关于大小和颜色的蓝点的描绘方式(表示变量的最佳数量)?geom_point()影响所有点。我只想更改>主点<。

0 投票
1 回答
633 浏览

python - 在管道中将 n_features_to_select RFE 设置为百分比

我有一个像这样的管道:

现在,在网格搜索中安装此管道时,我指定以下参数进行调整:

有没有办法可以将 n_features_to_select 设置为数据集中特征总数的百分比?PolynomialFeatures()因为我不知道会增加多少功能。

提前致谢,

凯文