核中心化器#
- class sklearn.preprocessing.KernelCenterer[source]#
- 对任意核矩阵 \(K\) 进行中心化。 - 定义一个核 \(K\),使得 \[K(X, Y) = \phi(X) . \phi(Y)^{T}\]- \(\phi(X)\) 是将 \(X\) 的行映射到希尔伯特空间的函数,\(K\) 的形状为 - (n_samples, n_samples)。- 此类允许计算 \(\tilde{K}(X, Y)\),使得 \[\tilde{K(X, Y)} = \tilde{\phi}(X) . \tilde{\phi}(Y)^{T}\]- \(\tilde{\phi}(X)\) 是希尔伯特空间中中心化的映射数据。 - KernelCenterer在不显式计算映射 \(\phi(\cdot)\) 的情况下对特征进行中心化。处理代数计算(例如- KernelPCA的特征分解)时,有时需要使用中心化的核。- 更多信息请阅读 用户指南。 - 属性:
 - 另请参见 - sklearn.kernel_approximation.Nystroem
- 使用训练数据子集逼近核映射。 
 - 参考文献 - 示例 - >>> from sklearn.preprocessing import KernelCenterer >>> from sklearn.metrics.pairwise import pairwise_kernels >>> X = [[ 1., -2., 2.], ... [ -2., 1., 3.], ... [ 4., 1., -2.]] >>> K = pairwise_kernels(X, metric='linear') >>> K array([[ 9., 2., -2.], [ 2., 14., -13.], [ -2., -13., 21.]]) >>> transformer = KernelCenterer().fit(K) >>> transformer KernelCenterer() >>> transformer.transform(K) array([[ 5., 0., -5.], [ 0., 14., -14.], [ -5., -14., 19.]]) - fit(K, y=None)[source]#
- 拟合 KernelCenterer。 - 参数:
- Kndarray 形状 (n_samples, n_samples)
- 核矩阵。 
- yNone
- 忽略。 
 
- 返回:
- selfobject
- 返回实例本身。 
 
 
 - fit_transform(X, y=None, **fit_params)[source]#
- 拟合数据,然后转换它。 - 使用可选参数 - fit_params将转换器拟合到- X和- y,并返回- X的转换版本。- 参数:
- Xarray-like 形状 (n_samples, n_features)
- 输入样本。 
- yarray-like 形状 (n_samples,) 或 (n_samples, n_outputs), 默认值=None
- 目标值(无监督转换则为 None)。 
- **fit_paramsdict
- 附加拟合参数。 
 
- 返回:
- X_newndarray 数组 形状 (n_samples, n_features_new)
- 转换后的数组。 
 
 
 - get_feature_names_out(input_features=None)[source]#
- 获取转换后的特征名称。 - 输出的特征名称将以小写的类名作为前缀。例如,如果转换器输出 3 个特征,则输出的特征名称为: - ["class_name0", "class_name1", "class_name2"]。- 参数:
- input_featuresarray-like of str or None, default=None
- 仅用于使用在 - fit中看到的名称验证特征名称。
 
- 返回:
- feature_names_outndarray of str objects
- 转换后的特征名称。 
 
 
 - get_metadata_routing()[source]#
- 获取此对象的元数据路由。 - 请查看 用户指南,了解路由机制的工作原理。 - 返回:
- routingMetadataRequest
- 一个 - MetadataRequest封装了路由信息。
 
 
 - get_params(deep=True)[source]#
- 获取此估计器的参数。 - 参数:
- deepbool, default=True
- 如果为 True,则将返回此估计器和包含的作为估计器的子对象的参数。 
 
- 返回:
- paramsdict
- 参数名称映射到其值。 
 
 
 - set_output(*, transform=None)[source]#
- 设置输出容器。 - 关于如何使用该API的示例,请参见介绍set_output API。 - 参数:
- transform{“default”, “pandas”, “polars”}, default=None
- 配置 - transform和- fit_transform的输出。- "default": 变换器的默认输出格式
- "pandas": DataFrame 输出
- "polars": Polars 输出
- None: 变换配置保持不变
 - 1.4版本新增: - "polars"选项已添加。
 
- 返回:
- self估计器实例
- 估计器实例。 
 
 
 - set_params(**params)[source]#
- 设置此估计器的参数。 - 此方法适用于简单的估计器以及嵌套对象(例如 - Pipeline)。后者具有- <component>__<parameter>形式的参数,因此可以更新嵌套对象的每个组件。- 参数:
- **params字典
- 估计器参数。 
 
- 返回:
- self估计器实例
- 估计器实例。 
 
 
 - set_transform_request(*, copy: bool | None | str = '$UNCHANGED$') KernelCenterer[source]#
- 请求传递给 - transform方法的元数据。- 请注意,只有在 - enable_metadata_routing=True时(参见- sklearn.set_config)此方法才相关。请参见用户指南,了解路由机制的工作原理。- 每个参数的选项为: - True: 请求元数据,如果提供则传递给- transform。如果未提供元数据,则忽略请求。
- False: 不请求元数据,元估计器不会将其传递给- transform。
- None: 不请求元数据,如果用户提供元数据,元估计器将引发错误。
- str: 元数据应使用此给定的别名而不是原始名称传递给元估计器。
 - 默认值( - sklearn.utils.metadata_routing.UNCHANGED)保留现有的请求。这允许您更改某些参数的请求,而无需更改其他参数的请求。- 1.3版本新增。 - 注意 - 只有当此估计器用作元估计器的子估计器时(例如,在 - Pipeline中使用),此方法才相关。否则,它无效。- 参数:
- copystr, True, False, 或 None, default=sklearn.utils.metadata_routing.UNCHANGED
- transform中- copy参数的元数据路由。
 
- 返回:
- selfobject
- 更新后的对象。 
 
 
 
