SelectPercentile#
- class sklearn.feature_selection.SelectPercentile(score_func=<function f_classif>, *, percentile=10)#
根据最高得分的百分位数选择特征。
更多信息请参阅 用户指南 。
- Parameters:
- score_funccallable, default=f_classif
函数接受两个数组 X 和 y,并返回一对数组 (scores, pvalues) 或一个包含得分的单个数组。 默认是 f_classif(见下文“另见”)。默认函数仅适用于分类任务。
Added in version 0.18.
- percentileint, default=10
保留的特征百分比。
- Attributes:
See also
f_classif
分类任务中标签/特征之间的 ANOVA F 值。
mutual_info_classif
离散目标的互信息。
chi2
分类任务中非负特征的卡方统计量。
f_regression
回归任务中标签/特征之间的 F 值。
mutual_info_regression
连续目标的互信息。
SelectKBest
根据 k 个最高得分选择特征。
SelectFpr
根据假阳性率检验选择特征。
SelectFdr
根据估计的假发现率选择特征。
SelectFwe
根据族系误差率选择特征。
GenericUnivariateSelect
具有可配置模式的单变量特征选择器。
Notes
得分相同的特征之间的联系将以未指定的方式打破。
该过滤器支持仅请求
X
进行得分计算的无监督特征选择。Examples
>>> from sklearn.datasets import load_digits >>> from sklearn.feature_selection import SelectPercentile, chi2 >>> X, y = load_digits(return_X_y=True) >>> X.shape (1797, 64) >>> X_new = SelectPercentile(chi2, percentile=10).fit_transform(X, y) >>> X_new.shape (1797, 7)
- fit(X, y=None)#
运行评分函数在 (X, y) 上并获取适当的特征。
- Parameters:
- X形状为 (n_samples, n_features) 的类数组
训练输入样本。
- y形状为 (n_samples,) 的类数组或 None
目标值(在分类中为类别标签,在回归中为实数)。如果选择器是无监督的,则可以将
y
设置为None
。
- Returns:
- selfobject
返回实例本身。
- fit_transform(X, y=None, **fit_params)#
拟合数据,然后进行转换。
将转换器拟合到
X
和y
,并带有可选参数fit_params
, 并返回X
的转换版本。- Parameters:
- X形状为 (n_samples, n_features) 的类数组
输入样本。
- y形状为 (n_samples,) 或 (n_samples, n_outputs) 的类数组, 默认=None
目标值(无监督转换为 None)。
- **fit_paramsdict
其他拟合参数。
- Returns:
- X_new形状为 (n_samples, n_features_new) 的 ndarray 数组
转换后的数组。
- get_feature_names_out(input_features=None)#
屏蔽根据选定特征的特征名称。
- Parameters:
- input_features字符串的类数组或None, 默认=None
输入特征。
如果
input_features
是None
,则使用feature_names_in_
作为输入特征名称。如果feature_names_in_
未定义,则生成以下输入特征名称:["x0", "x1", ..., "x(n_features_in_ - 1)"]
。如果
input_features
是类数组,则input_features
必须与feature_names_in_
匹配,如果feature_names_in_
已定义。
- Returns:
- feature_names_out字符串对象的ndarray
转换后的特征名称。
- get_metadata_routing()#
获取此对象的元数据路由。
请查看 用户指南 以了解路由机制的工作原理。
- Returns:
- routingMetadataRequest
MetadataRequest
封装的 路由信息。
- get_params(deep=True)#
获取此估计器的参数。
- Parameters:
- deepbool, 默认=True
如果为True,将返回此估计器和包含的子对象(也是估计器)的参数。
- Returns:
- paramsdict
参数名称映射到它们的值。
- get_support(indices=False)#
获取一个掩码或整数索引,用于选择特征。
- Parameters:
- indicesbool, 默认=False
如果为True,返回值将是一个整数数组,而不是一个布尔掩码。
- Returns:
- supportarray
一个从特征向量中选择保留特征的索引。如果
indices
为False,这是一个布尔数组,形状为 [# 输入特征],其中元素为True当且仅当其对应的特征被选择保留。如果indices
为 True,这是一个整数数组,形状为[# 输出特征],其值为输入特征向量的索引。
- inverse_transform(X)#
反转变换操作。
- Parameters:
- X形状为 [n_samples, n_selected_features] 的数组
输入样本。
- Returns:
- X_r形状为 [n_samples, n_original_features] 的数组
X
在特征被transform
方法移除的地方插入零列。
- set_output(*, transform=None)#
设置输出容器。
请参阅 介绍 set_output API 以了解如何使用API的示例。
- Parameters:
- transform{“default”, “pandas”, “polars”}, 默认=None
配置
transform
和fit_transform
的输出。"default"
: 转换器的默认输出格式"pandas"
: DataFrame 输出"polars"
: Polars 输出None
: 转换配置不变
Added in version 1.4:
"polars"
选项已添加。
- Returns:
- self估计器实例
估计器实例。
- set_params(**params)#
设置此估计器的参数。
该方法适用于简单估计器以及嵌套对象(例如
Pipeline
)。后者具有形式为<component>__<parameter>
的参数,以便可以更新嵌套对象的每个组件。- Parameters:
- **paramsdict
估计器参数。
- Returns:
- selfestimator instance
估计器实例。
- transform(X)#
将X 缩减为选定的特征。
- Parameters:
- Xarray of shape [n_samples, n_features]
输入样本。
- Returns:
- X_rarray of shape [n_samples, n_selected_features]
仅包含所选特征的输入样本。