问题标签 [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.
pandas - Scikit 学习使用 RFE 对特征进行排名,包括分数
我想使用 Scikit learn 在我的数据框中找到每个功能的重要性。
我正在尝试在 Scikit learn 中使用它,而不是通过 WEKA 软件使用 Info Gain,该软件提供分数和旁边的功能名称。
我实现了下一个方法,但是我不知道如何替换分数中的排名数字。
例如:
我不想看到:
- 功能 6
- 特色 4
...
但是,我更喜欢:
0.4 特征 6
0.233 特征 4
...
这是我的方法:
有人知道如何从排名转换为分数吗?
r - sbf() 是否使用 metric 参数来优化模型?
ROC
作为metric
参数值传递给caretSBF
函数
我们的目标是使用 ROC 汇总指标进行模型选择,同时运行通过过滤选择sbf()
功能进行特征选择。
该BreastCancer
数据集被用作从mlbench
包到运行train()
以及sbf()
使用metric = "Accuracy"
和使用的可重复示例metric = "ROC"
我们要确保sbf()
采用and函数metric
应用的参数来优化模型。为此,我们计划用函数来使用函数。该函数调用,并传递给。train()
rfe()
train()
sbf()
caretSBF$fit
train()
caretSBF
sbfControl
从输出来看,该metric
参数似乎仅用于该部分,inner resampling
而不用于该sbf
部分,即对于outer resampling
输出的 ,该metric
参数未应用于train()
and rfe()
。
正如我们所使用caretSBF
的 which uses train()
,看来metric
参数的范围仅限于train()
,因此不会传递给sbf
。
我们希望澄清是否sbf()
使用metric
参数来优化模型,即outer resampling
?
这是我们在可重现示例上的工作,使用and显示train()
使用metric
参数,但我们不确定。Accuracy
ROC
sbf
一、数据部分
二、自定义汇总功能
定义fiveStats汇总函数
三、火车部分
定义 trControl
火车 + 公制 = “准确度”
火车+公制=“ROC”
四。编辑插入符号SBF
编辑 caretSBF 汇总函数
五、SBF部分
定义 sbfControl
SBF + METRIC =“准确度”
SBF + 公制 = "ROC"
是否sbf()
使用metric
参数来优化模型?如果是,默认使用什么metric
?sbf()
如果sbf()
使用metric
参数,那么如何将其设置为ROC
?
谢谢。
python - 进入 RFE 并获取“DataFrame 对象不可调用”错误
我第一次尝试使用 RFE 并将我的头撞到“DataFrame 对象不可调用”错误。
这是我的代码
我正在查看具有 49 个特征的数据集,我正在寻找的输出是这些特征中的哪些应该保留,哪些被踢出。
如果有人可以帮助我弄清楚如何将其放入 RFECV,则可以加分!
python - 迭代RFE分数sklearn
我使用带有 ExtraTreeRegressor 的 RFE 作为估计器,以便在回归问题中进行 SupervisedFeatureSelection。
我使用以下通用代码从模型中获得排名和支持:
我想要的是更深入的信息,因此每次 RFE 迭代的分数或特征评估。我注意到有一些像_fit这样的隐藏函数,我正在考虑试图强制step_score参数不同于none......关键是我无法达到我想要的......(我是 python 新手...)我想在每次迭代时打印分数。有没有人有过这样的任务经验?step_score 参数的正确值应该是多少?(我尝试过使用布尔值,但它不起作用)
感谢您的任何建议!!!
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 时。这里一定有问题。为什么选择这么少的特征时我得到相同的性能?
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):
代码如下:
提前致谢。
python - scikit-learn 中回归交叉验证的递归特征消除
我想使用 scikit-learn 对我的回归问题应用像递归特征消除这样的包装方法。使用交叉验证的递归特征消除很好地概述了如何自动调整特征数量。
我试过这个:
但我收到一条错误消息,例如
警告听起来像是我有分类问题,但我的任务是回归问题。我该怎么做才能得到结果?出了什么问题?
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 数据的训练样本。
r - ggplot:如何更改 RFE 图的可视化?
我有一个 RFE 输出,rfe2014
从另一个 R 会话保存:
通过 ggplot 绘图效果很好:
如何更改关于大小和颜色的蓝点的描绘方式(表示变量的最佳数量)?geom_point()
影响所有点。我只想更改>主点<。
python - 在管道中将 n_features_to_select RFE 设置为百分比
我有一个像这样的管道:
现在,在网格搜索中安装此管道时,我指定以下参数进行调整:
有没有办法可以将 n_features_to_select 设置为数据集中特征总数的百分比?PolynomialFeatures()
因为我不知道会增加多少功能。
提前致谢,
凯文