sklearn.feature_selection.SelectKBest

class sklearn.feature_selection.SelectKBest(score_func=<function f_classif>, *, k=10)

[源码]

根据k个最高分数选择功能。

用户指南中阅读更多内容。

参数 说明
score_func callable
函数接受两个数组X和y,并返回一对数组(分数,p值)或带分数的单个数组。默认值为f_classif(请参见下文“另见”)。默认函数仅适用于分类任务。

0.18版本中的新功能。
k int or “all”, optional, default=10
要选择的主要功能数。“ all”选项绕过选择,用于参数搜索。
属性 说明
scores_ array-like of shape (n_features,)
特征分数。
pvalues_ array-like of shape (n_features,)
特征分数的p值;如果score_func为None,则仅返回分数 。

另见

f_classif

标签和特征之间的ANOVA F值,用于分类任务。

mutual_info_classif

离散目标的相互信息。

chi2

分类任务的非负特征的卡方统计。

f_regression

回归任务的标签和特征之间的F值。

mutual_info_regression

共同目标的共同信息。

SelectPercentile

根据最高分数的百分位数选择特征。

SelectFpr

根据误报率测试选择功能。

SelectFdr

根据估计的错误发现率选择特征。

SelectFwe

根据多重比较错误率选择特征。

GenericUnivariateSelect

具有可配置模式的单变量特征选择器。

分数相等的特征之间的关系将以不确定的方式断开。

示例

>>> from sklearn.datasets import load_digits
>>> from sklearn.feature_selection import SelectKBest, chi2
>>> X, y = load_digits(return_X_y=True)
>>> X.shape
(179764)
>>> X_new = SelectKBest(chi2, k=20).fit_transform(X, y)
>>> X_new.shape
(179720)

方法

方法 说明
fit(X, y) 在(X,y)上运行score函数并获得适当的特征。
fit_transform(X[, y]) 拟合数据,然后对其进行转换。
get_params([deep]) 获取此估计器的参数。
get_support([indices]) 获取所选特征的掩码或整数索引。
inverse_transform(X) 反向转换操作
set_params(**params) 设置此估计器的参数。
transform(X) 将X缩小为选定的特征。
__init__(score_func=<function f_classif>, *, k=10)

[源码]

初始化self,参见help(type(self))获取更多信息。

fit(X, y)

[源码]

在(X, y)上运行score函数,得到相应的特征。

参数 说明
X array-like of shape (n_samples, n_features)
训练样本。
y array-like of shape (n_samples,)
目标值(分类中的类标签,回归中的真实值)。
返回值 说明
self object
fit_transform(X, y=None, **fit_params)

[源码]

拟合数据,然后对其进行转换。

使用可选参数fit_params将转换器拟合到X和y,并返回X的转换值。

参数 说明
X {array-like, sparse matrix, dataframe} of shape (n_samples, n_features)
y ndarray of shape (n_samples,), default=None
目标值
**fit_params dict
其他拟合参数。
返回值 说明
X_new ndarray array of shape (n_samples, n_features_new)
转换后的数组。
get_params(deep=True)

[源码]

获取此估计器的参数。

参数 说明
deep bool, default=True
如果为True,则将返回此估算器和所包含子对象的参数。
返回值 说明
params mapping of string to any
参数名称映射到其值。
get_support(indices=False)

[源码]

获取所选特征的掩码或整数索引。

参数 说明
indices boolean (default False)
如果为True,则返回值将是一个整数数组,而不是布尔掩码。
返回值 说明
support array
从特征向量中选择保留特征的索引。如果indices为False,则为形状为[#输入特征]的布尔数组,其中元素为True时(如果已选择其对应的特征进行保留)。如果indices为True,则这是一个形状为[#输出特征]的整数数组,其值是输入特征向量的索引。
inverse_transform(X)

[源码]

反向转换操作。

参数 说明
X array of shape [n_samples, n_selected_features]
输入样本。
返回值 说明
X_r array of shape [n_samples, n_original_features]
X中插入的列名为零的特征将被transform删除。
set_params(**params)

[源码]

设置此估算器的参数。

该方法适用于简单的估计器以及嵌套对象(例如管道)。后者具有<component>__<parameter>形式的参数, 以便可以更新嵌套对象的每个组件。

参数 说明
**params dict
估计器参数。
返回值 说明
self object
估计器实例。
transform(X)

[源码]

参数 说明
X array of shape [n_samples, n_features]
输入样本。
返回值 说明
X_r array of shape [n_samples, n_selected_features]
仅具有所选特征的输入样本。