PolynomialCountSketch#

sklearn.kernel_approximation.PolynomialCountSketch(*, gamma=1.0, degree=2, coef0=0, n_components=100, random_state=None)[源码]#

通过 Tensor Sketch 进行多项式核近似。

实现了 Tensor Sketch,它通过使用快速傅里叶变换(FFT)高效计算向量与其自身外积的 Count Sketch 来近似多项式核的特征映射。

K(X, Y) = (gamma * <X, Y> + coef0)^degree

更多信息请参阅用户指南

0.24 版本新增。

参数:
gamma浮点型,默认值=1.0

将要近似其特征映射的多项式核的参数。

degree整型,默认值=2

将要近似其特征映射的多项式核的次数。

coef0整型,默认值=0

将要近似其特征映射的多项式核的常数项。

n_components整型,默认值=100

输出特征空间的维度。通常,为了获得良好的性能,n_components 应大于输入样本中的特征数量。最佳的分数/运行时间平衡通常在 n_components = 10 * n_features 左右实现,但这取决于所使用的具体数据集。

random_state整型、RandomState 实例,默认值=None

确定 indexHash 和 bitHash 初始化的随机数生成。传入一个整型值可确保多次函数调用之间结果的可重现性。请参阅词汇表

属性:
indexHash_形状为 (degree, n_features) 的 ndarray,数据类型=int64

范围 [0, n_components) 内的索引数组,用于表示 Count Sketch 计算中 2-wise 独立的哈希函数。

bitHash_形状为 (degree, n_features) 的 ndarray,数据类型=float32

带有 {+1, -1} 中随机条目的数组,用于表示 Count Sketch 计算中 2-wise 独立的哈希函数。

n_features_in_整型

拟合 过程中看到的特征数量。

0.24 版本新增。

feature_names_in_形状为 (n_features_in_,) 的 ndarray

拟合 过程中看到的特征名称。仅当 X 的所有特征名称均为字符串时定义。

1.0 版本新增。

另请参阅

AdditiveChi2Sampler

加性卡方核的近似特征映射。

Nystroem

使用训练数据的子集近似核映射。

RBFSampler

使用随机傅里叶特征近似 RBF 核特征映射。

SkewedChi2Sampler

“偏斜卡方”核的近似特征映射。

sklearn.metrics.pairwise.kernel_metrics

内置核列表。

示例

>>> from sklearn.kernel_approximation import PolynomialCountSketch
>>> from sklearn.linear_model import SGDClassifier
>>> X = [[0, 0], [1, 1], [1, 0], [0, 1]]
>>> y = [0, 0, 1, 1]
>>> ps = PolynomialCountSketch(degree=3, random_state=1)
>>> X_features = ps.fit_transform(X)
>>> clf = SGDClassifier(max_iter=10, tol=1e-3)
>>> clf.fit(X_features, y)
SGDClassifier(max_iter=10)
>>> clf.score(X_features, y)
1.0

有关更详细的用法示例,请参阅使用多项式核近似进行可伸缩学习

fit(X, y=None)[源码]#

使用 X 拟合模型。

初始化内部变量。此方法不需要有关数据分布的信息,因此我们只关心 X 中的特征数量。

参数:
X{类数组对象, 稀疏矩阵},形状为 (n_samples, n_features)

训练数据,其中 n_samples 是样本数量,n_features 是特征数量。

y类数组对象,形状为 (n_samples,) 或 (n_samples, n_outputs),默认值=None

目标值(无监督转换时为 None)。

返回:
self对象

返回实例本身。

fit_transform(X, y=None, **fit_params)[源码]#

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

使用可选参数 fit_params 将转换器拟合到 Xy,并返回 X 的转换版本。

参数:
X类数组对象,形状为 (n_samples, n_features)

输入样本。

y类数组对象,形状为 (n_samples,) 或 (n_samples, n_outputs),默认值=None

目标值(无监督转换时为 None)。

**fit_params字典

额外的拟合参数。

返回:
X_new形状为 (n_samples, n_features_new) 的 ndarray 数组

转换后的数组。

get_feature_names_out(input_features=None)[源码]#

获取转换的输出特征名称。

输出特征名称将以小写类名作为前缀。例如,如果转换器输出 3 个特征,则输出特征名称为:["class_name0", "class_name1", "class_name2"]

参数:
input_features类数组对象,包含字符串或 None,默认值=None

仅用于根据 fit 中看到的名称验证特征名称。

返回:
feature_names_out由字符串对象组成的 ndarray

转换后的特征名称。

get_metadata_routing()[源码]#

获取此对象的元数据路由。

请查看用户指南,了解路由机制的工作原理。

返回:
routingMetadataRequest

一个包含路由信息的 MetadataRequest 对象。

get_params(deep=True)[源码]#

获取此估计器的参数。

参数:
deep布尔型,默认值=True

如果为 True,将返回此估计器及其包含的作为估计器的子对象的参数。

返回:
params字典

参数名称及其对应的值。

set_output(*, transform=None)[源码]#

设置输出容器。

有关如何使用此 API 的示例,请参阅介绍 set_output API

参数:
transform{“default”, “pandas”, “polars”},默认值=None

配置 transformfit_transform 的输出。

  • "default": 转换器的默认输出格式

  • "pandas": DataFrame 输出

  • "polars": Polars 输出

  • None: 转换配置未更改

1.4 版本新增:"polars" 选项已添加。

返回:
self估计器实例

估计器实例。

set_params(**params)[源码]#

设置此估计器的参数。

此方法适用于简单估计器以及嵌套对象(例如 Pipeline)。后者具有 <component>__<parameter> 形式的参数,以便可以更新嵌套对象的每个组件。

参数:
**params字典

估计器参数。

返回:
self估计器实例

估计器实例。

transform(X)[源码]#

生成 X 的特征映射近似。

参数:
X{类数组对象},形状为 (n_samples, n_features)

新数据,其中 n_samples 是样本数量,n_features 是特征数量。

返回:
X_new类数组对象,形状为 (n_samples, n_components)

返回实例本身。