PolynomialCountSketch#
- class sklearn.kernel_approximation.PolynomialCountSketch(*, gamma=1.0, degree=2, coef0=0, n_components=100, random_state=None)[源代码]#
通过张量草图近似多项式核。
实现 Tensor Sketch,它通过使用快速傅里叶变换 (FFT) 有效地计算向量自身外积的 Count Sketch,从而近似多项式核的特征映射。
K(X, Y) = (gamma * <X, Y> + coef0)^degree
在用户指南中阅读更多内容。
0.24 版本新增。
- 参数:
- gammafloat, default=1.0
将要近似其特征映射的多项式核的参数。
- degreeint, default=2
将要近似其特征映射的多项式核的度。
- coef0int, default=0
将要近似其特征映射的多项式核的常数项。
- n_componentsint, default=100
输出特征空间的维度。通常,为了获得良好的性能,
n_components应大于输入样本中的特征数量。最佳分数/运行时平衡通常在n_components= 10 *n_features左右实现,但这取决于所使用的特定数据集。- random_stateint, RandomState instance, default=None
确定 indexHash 和 bitHash 初始化的随机数生成。传入一个 int 以在多次函数调用中获得可重现的结果。请参阅术语表。
- 属性:
- indexHash_形状为 (degree, n_features) 的 ndarray,dtype=int64
范围为 [0, n_components) 的索引数组,用于表示 Count Sketch 计算的 2-wise 独立哈希函数。
- bitHash_形状为 (degree, n_features) 的 ndarray,dtype=float32
具有 {+1, -1} 中随机条目的数组,用于表示 Count Sketch 计算的 2-wise 独立哈希函数。
- n_features_in_int
在 拟合 期间看到的特征数。
0.24 版本新增。
- feature_names_in_shape 为 (
n_features_in_,) 的 ndarray 在 fit 期间看到的特征名称。仅当
X具有全部为字符串的特征名称时才定义。1.0 版本新增。
另请参阅
AdditiveChi2Sampler加性卡方核的近似特征图。
Nystroem使用训练数据的子集近似核图。
RBFSampler使用随机傅里叶特征近似 RBF 核特征图。
SkewedChi2Sampler“偏斜卡方”核的近似特征图。
sklearn.metrics.pairwise.kernel_metricsList of built-in kernels.
示例
>>> 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 中的 n_features。
- 参数:
- Xshape 为 (n_samples, n_features) 的 {array-like, sparse matrix}
训练数据,其中
n_samples是样本数,n_features是特征数。- y形状为 (n_samples,) 或 (n_samples, n_outputs) 的类数组对象,默认=None
目标值(对于无监督转换,为 None)。
- 返回:
- selfobject
返回实例本身。
- fit_transform(X, y=None, **fit_params)[源代码]#
拟合数据,然后对其进行转换。
使用可选参数
fit_params将转换器拟合到X和y,并返回X的转换版本。- 参数:
- Xshape 为 (n_samples, n_features) 的 array-like
输入样本。
- y形状为 (n_samples,) 或 (n_samples, n_outputs) 的类数组对象,默认=None
目标值(对于无监督转换,为 None)。
- **fit_paramsdict
额外的拟合参数。仅当估计器在其
fit方法中接受额外的参数时才传递。
- 返回:
- X_newndarray array of shape (n_samples, n_features_new)
转换后的数组。
- get_feature_names_out(input_features=None)[源代码]#
获取转换的输出特征名称。
The feature names out will prefixed by the lowercased class name. For example, if the transformer outputs 3 features, then the feature names out are:
["class_name0", "class_name1", "class_name2"].- 参数:
- input_featuresarray-like of str or None, default=None
Only used to validate feature names with the names seen in
fit.
- 返回:
- feature_names_outstr 对象的 ndarray
转换后的特征名称。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请查阅 用户指南,了解路由机制如何工作。
- 返回:
- routingMetadataRequest
封装路由信息的
MetadataRequest。
- get_params(deep=True)[源代码]#
获取此估计器的参数。
- 参数:
- deepbool, default=True
如果为 True,将返回此估计器以及包含的子对象(如果它们是估计器)的参数。
- 返回:
- paramsdict
参数名称映射到其值。
- set_output(*, transform=None)[源代码]#
设置输出容器。
有关如何使用 API 的示例,请参阅引入 set_output API。
- 参数:
- transform{“default”, “pandas”, “polars”}, default=None
配置
transform和fit_transform的输出。"default": 转换器的默认输出格式"pandas": DataFrame 输出"polars": Polars 输出None: 转换配置保持不变
1.4 版本新增: 添加了
"polars"选项。
- 返回:
- selfestimator instance
估计器实例。