sklearn.feature_selection.GenericUnivariateSelect

class sklearn.feature_selection.GenericUnivariateSelect(score_func=<function f_classif>, *, mode='percentile', param=1e-05)

[源码]

具有可配置策略的单变量特征选择器。

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

参数 说明
score_func callable
函数接受两个数组X和y,并返回一对数组(分数,p值)。对于“percentile”或“ kbest”模式,可以返回单个数组分数。
mode {‘percentile’, ‘k_best’, ‘fpr’, ‘fdr’, ‘fwe’}
特征选择模式。
param float or int depending on the feature selection mode
对应模式的参数。
属性 说明
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

根据最高分数的百分位数选择功能。

SelectKBest

根据k个最高分数选择特征。

SelectFpr

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

SelectFdr

根据估计的错误发现率选择功能。

SelectFwe

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

示例

>>> from sklearn.datasets import load_breast_cancer
>>> from sklearn.feature_selection import GenericUnivariateSelect, chi2
>>> X, y = load_breast_cancer(return_X_y=True)
>>> X.shape
(56930)
>>> transformer = GenericUnivariateSelect(chi2, mode='k_best', param=20)
>>> X_new = transformer.fit_transform(X, y)
>>> X_new.shape
(56920)

方法

方法 说明
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>, *, mode='percentile', param=1e-05)

[源码]

初始化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]
仅具有所选特征的输入样本。