Binarizer#

class sklearn.preprocessing.Binarizer(*, threshold=0.0, copy=True)#

二值化数据(根据阈值将特征值设置为0或1)。

大于阈值的值映射为1,而小于或等于阈值的值映射为0。使用默认阈值0时, 只有正值映射为1。

二值化是文本计数数据中的常见操作,分析人员可以决定只考虑特征的存在或不存在, 而不是考虑实例的量化出现次数。

它还可以用作考虑布尔随机变量的估计器的预处理步骤(例如,在贝叶斯设置中使用伯努利分布建模)。

更多信息请参阅 用户指南

Parameters:
thresholdfloat, default=0.0

特征值低于或等于此值的被替换为0,高于此值的被替换为1。 对于稀疏矩阵的操作,阈值不能小于0。

copybool, default=True

设置为False以就地进行二值化并避免复制(如果输入已经是numpy数组或scipy.sparse CSR矩阵)。

Attributes:
n_features_in_int

fit 期间看到的特征数量。

Added in version 0.24.

feature_names_in_ndarray of shape ( n_features_in_ ,)

fit 期间看到的特征名称。仅当 X 的特征名称均为字符串时定义。

Added in version 1.0.

See also

binarize

等效函数,没有估计器API。

KBinsDiscretizer

将连续数据分入区间。

OneHotEncoder

将分类特征编码为独热数值数组。

Notes

如果输入是稀疏矩阵,只有非零值会受到 Binarizer 类的影响。

此估计器是 stateless 的,不需要拟合。然而,我们建议调用 fit_transform 而不是 transform , 因为参数验证仅在 fit 中进行。

Examples

>>> from sklearn.preprocessing import Binarizer
>>> X = [[ 1., -1.,  2.],
...      [ 2.,  0.,  0.],
...      [ 0.,  1., -1.]]
>>> transformer = Binarizer().fit(X)  # fit does nothing.
>>> transformer
Binarizer()
>>> transformer.transform(X)
array([[1., 0., 1.],
       [1., 0., 0.],
       [0., 1., 0.]])
fit(X, y=None)#

仅验证估计器的参数。

此方法允许:(i) 验证估计器的参数和 (ii) 与 scikit-learn 转换器 API 保持一致。

Parameters:
X{array-like, sparse matrix},形状为 (n_samples, n_features)

数据。

yNone

忽略。

Returns:
selfobject

拟合的转换器。

fit_transform(X, y=None, **fit_params)#

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

将转换器拟合到 Xy ,并带有可选参数 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_featuresNone ,则使用 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

参数名称映射到它们的值。

set_output(*, transform=None)#

设置输出容器。

请参阅 介绍 set_output API 以了解如何使用API的示例。

Parameters:
transform{“default”, “pandas”, “polars”}, 默认=None

配置 transformfit_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

估计器实例。

set_transform_request(*, copy: bool | None | str = '$UNCHANGED$') Binarizer#

Request metadata passed to the transform method.

Note that this method is only relevant if enable_metadata_routing=True (see sklearn.set_config ). Please see User Guide on how the routing mechanism works.

The options for each parameter are:

  • True : metadata is requested, and passed to transform if provided. The request is ignored if metadata is not provided.

  • False : metadata is not requested and the meta-estimator will not pass it to transform .

  • None : metadata is not requested, and the meta-estimator will raise an error if the user provides it.

  • str : metadata should be passed to the meta-estimator with this given alias instead of the original name.

The default ( sklearn.utils.metadata_routing.UNCHANGED ) retains the existing request. This allows you to change the request for some parameters and not others.

Added in version 1.3.

Note

This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a Pipeline . Otherwise it has no effect.

Parameters:
copystr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Metadata routing for copy parameter in transform .

Returns:
selfobject

The updated object.

transform(X, copy=None)#

对X的每个元素进行二值化。

Parameters:
X{array-like, sparse matrix} of shape (n_samples, n_features)

要进行二值化的数据,逐个元素进行处理。 scipy.sparse矩阵应采用CSR格式以避免不必要的复制。

copybool

是否复制输入X。

Returns:
X_tr{ndarray, sparse matrix} of shape (n_samples, n_features)

转换后的数组。