当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn SequentialFeatureSelector用法及代码示例


本文简要介绍python语言中 sklearn.feature_selection.SequentialFeatureSelector 的用法。

用法:

class sklearn.feature_selection.SequentialFeatureSelector(estimator, *, n_features_to_select=None, direction='forward', scoring=None, cv=5, n_jobs=None)

执行顺序特征选择的转换器。

这个顺序特征选择器以贪心的方式添加(前向选择)或删除(后向选择)特征以形成特征子集。在每个阶段,该估计器根据估计器的交叉验证分数选择要添加或删除的最佳特征。在无监督学习的情况下,此顺序特征选择器仅查看特征 (X),而不是所需的输出 (y)。

在用户指南中阅读更多信息。

参数

estimator估计器实例

一个不合适的估计器。

n_features_to_selectint 或浮点数,默认=无

要选择的特征数。如果 None ,则选择一半的特征。如果是整数,则参数是要选择的特征的绝对数量。如果在 0 和 1 之间浮点数,则它是要选择的特征的一部分。

direction{‘forward’, ‘backward’},默认='转发'

是执行前向选择还是后向选择。

scoringstr,可调用,列表/元组或字典,默认=无

单个 str (见评分参数:定义模型评估规则)或可调用的(见从度量函数定义你的评分策略) 来评估对测试集的预测。

请注意,使用自定义记分器时,每个记分器应返回一个值。返回值列表/数组的度量函数可以包装到多个记分器中,每个记分器返回一个值。

如果没有,则使用估计器的评分方法。

cvint,交叉验证生成器或可迭代的,默认=无

确定交叉验证拆分策略。 cv 的可能输入是:

  • 无,使用默认的 5 折交叉验证,
  • 整数,指定 (Stratified)KFold 中的折叠数,
  • CV分配器,
  • 一个可迭代的 yield (train, test) 拆分为索引数组。

对于整数/无输入,如果估计器是分类器并且y 是二进制或多类,则使用StratifiedKFold。在所有其他情况下,使用KFold。这些拆分器使用 shuffle=False 实例化,因此拆分在调用之间将是相同的。

有关可在此处使用的各种交叉验证策略,请参阅用户指南。

n_jobs整数,默认=无

并行运行的作业数。在评估要添加或删除的新函数时,交叉验证过程是平行的。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有处理器。有关详细信息,请参阅词汇表。

属性

n_features_in_int

拟合期间看到的特征数。仅当基础估计器在合适时公开此类属性时才定义。

feature_names_in_ndarray 形状(n_features_in_,)

拟合期间看到的特征名称。仅当 X 具有全为字符串的函数名称时才定义。

n_features_to_select_int

选择的特征数。

support_ndarray 形状 (n_features,), dtype=bool

所选特征的掩码。

例子

>>> from sklearn.feature_selection import SequentialFeatureSelector
>>> from sklearn.neighbors import KNeighborsClassifier
>>> from sklearn.datasets import load_iris
>>> X, y = load_iris(return_X_y=True)
>>> knn = KNeighborsClassifier(n_neighbors=3)
>>> sfs = SequentialFeatureSelector(knn, n_features_to_select=3)
>>> sfs.fit(X, y)
SequentialFeatureSelector(estimator=KNeighborsClassifier(n_neighbors=3),
                          n_features_to_select=3)
>>> sfs.get_support()
array([ True, False,  True,  True])
>>> sfs.transform(X).shape
(150, 3)

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.feature_selection.SequentialFeatureSelector。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。