【发布时间】:2020-07-10 23:13:25
【问题描述】:
我想在 sklearn 中执行 recursive feature elimination with cross validation (rfecv) 的 10 倍交叉验证(即 cross_val_predict 或 cross_validate)。
由于rfecv 本身的名称中有一个交叉验证部分,我不清楚该怎么做。我目前的代码如下。
from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(random_state = 0, class_weight="balanced")
k_fold = StratifiedKFold(n_splits=10, shuffle=True, random_state=0)
rfecv = RFECV(estimator=clf, step=1, cv=k_fold)
请告诉我如何在10-fold cross validation 中使用X 和y 和rfecv 数据。
如果需要,我很乐意提供更多详细信息。
【问题讨论】:
-
您想在每个折叠中将 RFE 与分类器结合使用,还是什么?
-
@desertnaut 谢谢你的评论。我想做
10-fold cross validation在sklearn 中进行特征选择。有可能吗? :) -
您已经说过了,这正是现有答案所提供的,但您似乎仍然不满意。我问了一些不同的问题-如果问题中的随机森林代码无关紧要,为什么顺便说一句?您想使用在 RFE 选择的特征中训练的 RF 分类器进行 CV 吗?
-
@desertnaut 我现在明白你的意思了。谢谢你的澄清。是的,我想使用在 RFE 选定特征中训练的 RF 分类器进行 CV。 :)
标签: python machine-learning scikit-learn classification cross-validation