如何提取 SequentialFeatureSelector 的最佳估计器

问题描述 投票:0回答:1

我已经从 sklearn 训练了一个

SequentialFeatureSelector
,现在对它生成的最佳模型(基于给定的评分方法)感兴趣。是否有一种可能的方法来提取参数并使用它们生成所使用的模型?

我已经看到

get_params()
存在一个
SequentialFeatureSelector
函数,但我不明白如何解释输出并检索最佳估计器。

python machine-learning scikit-learn feature-extraction sequentialfeatureselector
1个回答
0
投票

该模型的主要结果是决定选择哪些特征。您可以通过多种方式访问该信息。假设您安装了

selector=SequentialFeatureSelector(...).fit(...)

selector.support_
是一个布尔向量,其中
True
表示它选择了该特征。如果你一开始有 5 个特征,并告诉它选择 2 个,那么如果它选择了第一个和最后一个特征,向量将是
[True, False, False, False, True]

您可以使用

selector.get_support()
获得与上面相同的输出。如果您想要索引而不是布尔向量,则可以使用
selector.get_support(indices=True)
- 在本例中它将返回
[0, 4]
,指示特征编号 0 和特征编号 3。

获取特征名称(仅适用于向模型提供数据框的情况):

selector.feature_names_in_[selector.support_]

拟合选择器后,如果希望它剔除未选择的特征,可以使用

selector.transform(X_test)
.transform(X_test)
会将 already-fitted 选择器应用于提供的数据。在此示例中,如果
X_test
为 100 x 5,那么它将返回 100 x 2 版本,其中仅保留从初始
.fit()
确定的特征。

© www.soinside.com 2019 - 2024. All rights reserved.