sklearn.feature_selection.SelectPercentile

class sklearn.feature_selection.SelectPercentile(score_func=<function f_classif>, *, percentile=10)

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

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

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

0.18版本中的新功能。
percentile int, optional, default=10
要保留的特征百分比。
属性 说明
scores_ array-like of shape (n_features,)
特征分数。
pvalues_ array-like of shape (n_features,)
特征分数的p值;如果score_func为None,则仅返回分数 。

另见

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

示例

>>> from sklearn.datasets import load_digits
>>> from sklearn.feature_selection import SelectPercentile, chi2
>>> X, y = load_digits(return_X_y=True)
>>> X.shape
(179764)
>>> X_new = SelectPercentile(chi2, percentile=10).fit_transform(X, y)
>>> X_new.shape
(17977)

方法

方法 说明
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>,*,percentile = 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]
仅具有所选特征的输入样本。

sklearn.feature_selection.SelectPercentile使用示例