【发布时间】:2020-11-09 01:52:20
【问题描述】:
我目前正在尝试为我拥有的数据集进行特征选择。大约有 50 个变量,其中 35 个是分类变量,每个变量要么是二元的,要么具有
我正在尝试在 scikit-learn 中使用带有交叉验证的递归特征消除 (RFECV)。因为混合了连续变量和分类变量,所以当我对分类变量进行单热编码时遇到了一些问题,我有两个问题:
- RFE 是否仍可使用 one-hot 编码,它是否准确?
- 如何在 one-hot 编码之前获取所选特征对应的列?例如,如果它告诉我保留第 20 列,我如何知道在预处理之前对应的列,以便我可以将其保留为原始输入变量。
我不打算包括预处理,但它所做的只是估算和一个热编码,不会丢弃任何列。
这是我拥有的两个 RFECV 对象:
clf = SVC(kernel="linear")
rfecv = RFECV(estimator=clf, step=1, cv=StratifiedKFold(10), scoring="balanced_accuracy")
rfecv.fit(x_train, y_train)
clf2 = ExtraTreesClassifier(random_state=RANDOM_SEED)
rfecv2 = RFECV(estimator=clf2, step=1, cv=StratifiedKFold(10), scoring="balanced_accuracy")
rfecv2.fit(x_train, y_train)
【问题讨论】:
标签: python scikit-learn data-science feature-selection