问题标签 [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 - 为什么在 scikit-learn 中使用 RFECV 时,分类精度会随着使用的特征的增加而下降?
谁能解释一下为什么分类的准确性会随着 Scikit-learn 中交叉验证的递归特征消除中使用的特征的增加而下降?从此处 Scikit-learn 文档中报告的示例:使用交叉验证的递归特征消除,似乎使用 7 个特征时产生了最佳分类结果。然而,当使用 17 个特征时,准确率下降了 25%。这怎么可能?我希望随着功能的增加,准确性会不断提高。
r - R Caret 的 rfe [{中的错误:任务 1 失败-“rfe 期望 184 个重要性值,但只有 2 个”]
我将 Caret 的 rfe 用于回归应用程序。我的数据(in data.table
)有 176 个预测变量(包括 49 个因子预测变量)。当我运行该函数时,我收到此错误:
然后,我曾经model.matrix( ~ . - 1, data = as.data.frame(train_model_sell_single_bid))
将因子预测变量转换为虚拟变量。但是,我遇到了类似的错误:
我在 Windows 7(64 位)上使用 R 版本 3.1.1,插入符号版本 6.0-41。我还安装了 Revolution R Enterprise 版本 7.3(64 位)。但同样的错误在 R 版本 3.0.1 和 Caret 版本 6.0-24 的 Amazon EC2 (c3.8xlarge) Linux 实例上重现。
使用的数据集(重现我的错误):
https://www.dropbox.com/s/utuk9bpxl2996dy/train_model_sell_single_bid.RData?dl=0 https://www.dropbox.com/s/s9xcgfit3iqjffp/train_model_bid_outcomes_sell_single.RData?dl=0
我的代码:
scikit-learn - sklearn中分类数据的递归特征消除?
我有一个包含 8 个参数(4 个连续 4 个分类)的数据集,我正在尝试根据 Scikit 中的 RFEC 类消除特征。
这是我使用的公式:
因为我也有分类数据,所以我使用 dmatrics (Patsy) 将其更改为虚拟变量。
我想在特征选择后对数据尝试不同的分类模型,以与 SVC 一起改进模型。
我在转换数据后运行 RFE,我认为我做错了。
我们是在转换分类数据之前还是之后运行 RFECV?
我在任何文件中都找不到任何明确的指示。
python - Doing hyperparameter estimation for the estimator in each fold of Recursive Feature Elimination
I am using sklearn to carry out recursive feature elimination with cross-validation, using the RFECV module. RFE involves repeatedly training an estimator on the full set of features, then removing the least informative features, until converging on the optimal number of features.
In order to obtain optimal performance by the estimator, I want to select the best hyperparameters for the estimator for each number of features(edited for clarity). The estimator is a linear SVM so I am only looking into the C parameter.
Initially, my code was as follows. However, this just did one grid search for C at the beginning, and then used the same C for each iteration.
The documentation for RFECV gives the parameter "estimator_params : Parameters for the external estimator. Useful for doing grid searches when an RFE object is passed as an argument to, e.g., a sklearn.grid_search.GridSearchCV object."
Therefore I want to try to pass my object 'rfecv' to the grid search object, as follows:
But this returns the error:
So my question is: how can I pass the rfe object to the grid search in order to do cross-validation for each iteration of recursive feature elimination?
Thanks
matlab - 特征选择 SVM-Recursive Feature Elimination (SVM-RFE) with Libsvm,准确率结果比不选择特征差,为什么?
我正在尝试使用带有 libsvm 库的 SVM-RFE 在基因表达数据集上运行。我的算法是用 Matlab 编写的。特定数据集能够在 5 倍 CV 下产生 80++% 的分类准确率,而无需应用特征选择。当我尝试在这个数据集上应用 svm-rfe 时(相同的 svm 参数设置并使用 5 倍 CV),分类结果变得更糟,只能达到 60++% 的分类准确率。
这是我的 matlab 编码,如果有人能阐明我的代码有什么问题,不胜感激。先感谢您。
pandas - Sklearn RFE with pandas get_dummies
当我有使用 pandas get_dummies 创建的分类列时,我试图了解如何将 sklearn RFE 用于线性回归模型
我有一个数据集,布局是:
我做的第一件事是将月份转换为对象,然后是类别(直接转换为类别类型在 pandas 中不起作用)。
然后我创建我的 X,y:
然后我想使用RFE:
寻找 2 个功能的简单 RFE,但结果是它将月份列中的 2 列为 1,从技术上讲,我只需要仅当月份列中的 1 列为 1 时,我会认为“MonthFac”变量在建立我的模型,我想知道要使用的另一个排名靠前的变量是什么。
还是我只是应该使用我的演绎推理来根据输出找出要使用的其他变量selector.ranking_
?
与 R 相比,sklearn 的学习曲线似乎要高得多。
我也在 pandas/sklearn 中做分类值吗?在 R 中,我所要做的就是as.factor
BAM 它完成了所有这些。
还有一个问题,如果我不确定最佳功能数量是多少,我认为我可以创建一个循环选择器 R^2/R^2 adj/MSE 并将它们打印出来,但由于我有这些额外的月份列loop go to 16 因为基本上有 16 个功能,有没有更好的方法来做到这一点?
r-caret - 如何在插入符号中使用 ROC 度量和 RFE
如何使用使用 ROC 指标进行参考?我在下面尝试过这个,我收到警告说'Accuracy'是使用ROC的意图。
r - R 插入符号:train 和 rfe 之间的区别
由于 caret-ml 中有一些方法没有内置的特征选择,所以我正在试验rfe
。
有人可以解释一下,除了训练时间和排名特征列表之外,train()
和之间的区别是什么?rfe()
事情是否只能train()
做,反之亦然?
这是我的例子来说明这个问题:
r - 是什么导致任务 1 中的错误失败 - RFE 中的“参数列数不匹配”?
我正在尝试通过以下命令在插入符号中进行递归特征选择:
data.x.train
矩阵包含:
和data.y.train
:
并包含8个级别:
什么设置可能导致:
运行命令几个小时后?
谢谢