PLSSVD#

class sklearn.cross_decomposition.PLSSVD(n_components=2, *, scale=True, copy=True)[源代码]#

部分最小平方奇异值。

此Transformer简单地对互协方差矩阵执行奇异值分解 X'Y .它能够投影训练数据 X 和目标 Y .训练数据 X 投影在左侧奇异载体上,而目标投影在右侧奇异载体上。

阅读更多的 User Guide .

Added in version 0.8.

参数:
n_componentsint,默认=2

要保留的组件数量。应该在 [1, min(n_samples, n_features, n_targets)] .

scale布尔,默认=True

是否扩大规模 XY .

copy布尔,默认=True

是否复制 XY 在应用居中和潜在缩放之前进行拟合。如果 False ,这些操作将就地完成,修改两个阵列。

属性:
x_weights_形状的nd数组(n_features,n_components)

互协方差矩阵的奇异值的左奇异分量。用于投射 Xtransform .

y_weights_nd数组(n_targets,n_components)

互协方差矩阵的奇异值的右奇异量。用于投射 Xtransform .

n_features_in_int

期间看到的功能数量 fit .

feature_names_in_ :nd形状数组 (n_features_in_ ,)nd数组形状(

Names of features seen during fit. Defined only when X has feature names that are all strings.

Added in version 1.0.

参见

PLSCanonical

偏最小平方Transformer和回归器。

CCA

典型相关分析。

示例

>>> import numpy as np
>>> from sklearn.cross_decomposition import PLSSVD
>>> X = np.array([[0., 0., 1.],
...               [1., 0., 0.],
...               [2., 2., 2.],
...               [2., 5., 4.]])
>>> y = np.array([[0.1, -0.2],
...               [0.9, 1.1],
...               [6.2, 5.9],
...               [11.9, 12.3]])
>>> pls = PLSSVD(n_components=2).fit(X, y)
>>> X_c, y_c = pls.transform(X, y)
>>> X_c.shape, y_c.shape
((4, 2), (4, 2))
fit(X, y=None, Y=None)[源代码]#

将模型与数据匹配。

参数:
X形状类似阵列(n_samples,n_features)

训练样本。

y形状类似阵列(n_samples,)或(n_samples,n_targets)

目标的

Y形状类似阵列(n_samples,)或(n_samples,n_targets)

目标的

自 1.5 版本弃用: Y 在1.5中已废弃,并将在1.7中删除。使用 y 而不是.

返回:
self对象

拟合估计量。

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

学习并应用降维。

参数:
X形状类似阵列(n_samples,n_features)

训练样本。

y形状类似阵列(n_samples,)或(n_samples,n_targets), 默认值=无

目标的

返回:
out类数组或类数组元组

变换后的数据 X_transformed 如果 Y is not None , (X_transformed, Y_transformed) 否则。

get_feature_names_out(input_features=None)[源代码]#

获取用于转换的输出要素名称。

输出的功能名称将以大写的类别名称为开头。例如,如果Transformer输出3个特征,则输出的特征名称为: ["class_name0", "class_name1", "class_name2"] .

参数:
input_features字符串或无的类数组,默认=无

仅用于通过中看到的名称验证要素名称 fit .

返回:
feature_names_out字符串对象的nd数组

转换的功能名称。

get_metadata_routing()[源代码]#

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

请检查 User Guide 关于路由机制如何工作。

返回:
routingMetadataRequest

A MetadataRequest 封装路由信息。

get_params(deep=True)[源代码]#

获取此估计器的参数。

参数:
deep布尔,默认=True

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

返回:
paramsdict

参数名称映射到其值。

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

设置输出容器。

看到 介绍 set_output API 了解如何使用API的示例。

参数:
transform{“默认”,“pandas”,“polars”},默认=无

配置输出 transformfit_transform .

  • "default" :Transformer的默认输出格式

  • "pandas" :DataFrame输出

  • "polars" :两极输出

  • None :转换配置不变

Added in version 1.4: "polars" 添加了选项。

返回:
self估计器实例

估计实例。

set_params(**params)[源代码]#

设置此估计器的参数。

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

参数:
**paramsdict

估计参数。

返回:
self估计器实例

估计实例。

transform(X, y=None, Y=None)[源代码]#

应用维度缩减。

参数:
X形状类似阵列(n_samples,n_features)

待转化的样本。

y形状类似阵列(n_samples,)或(n_samples,n_targets), 默认值=无

目标的

Y形状类似阵列(n_samples,)或(n_samples,n_targets), 默认值=无

目标的

自 1.5 版本弃用: Y 在1.5中已废弃,并将在1.7中删除。使用 y 而不是.

返回:
x_scores类数组或类数组元组

变换后的数据 X_transformed 如果 Y is not None , (X_transformed, Y_transformed) 否则。