sklearn中分类数据的递归特征消除?

Recursive Feature Elimination on Categorical Data in sklearn?

我有一个包含 8 个参数的数据集(4 个连续参数,4 个分类参数),我正在尝试根据 Scikit 中的 RFEC class 消除特征。

这是我使用的公式:

svc = SVC(kernel="linear")
rfecv = RFECV(estimator=svc, step=1, cv=StratifiedKFold(y, 2),
          scoring='accuracy')
rfecv.fit(X, y)

因为我也有分类数据,所以我使用 dmatrics (Patsy) 将其更改为虚拟变量。

我想在特征选择后对数据尝试不同的分类模型,以与 SVC 一起改进模型。

我 运行 在 运行 形成数据后 RFE,我认为我做错了。
我们 运行 RFECV 是在 t运行 形成分类数据之前还是之后?

我在任何文件中都找不到任何明确的指示。

这取决于您想要select 给定分类变量还是整个变量的值。 您目前正在 select 分类变量的单一设置(又名级别)。 要 select 整个变量,您可能需要做一些 hackery,根据 SVC 定义您自己的估算器。 你可以做 make_pipeline(OneHotEncoder(categorical_features), SVC()) 但你需要将管道的 coef_ 设置为反映输入形状的东西。