PLSSVD#

class sklearn.cross_decomposition.PLSSVD(n_components=2, *, scale=True, copy=True)#

部分最小二乘奇异值分解。

这个转换器简单地对交叉协方差矩阵 X'Y 执行奇异值分解(SVD)。它能够投影训练数据 X 和目标 Y 。训练数据 X 投影在左奇异向量上,而目标投影在右奇异向量上。

更多信息请参阅 用户指南

Added in version 0.8.

Parameters:
n_componentsint, default=2

要保留的成分数量。应在 [1, min(n_samples, n_features, n_targets)] 范围内。

scalebool, default=True

是否缩放 XY

copybool, default=True

是否在拟合前复制 XY 并进行中心化,以及可能的缩放。如果为 False ,这些操作将在原地进行,修改两个数组。

Attributes:
x_weights_ndarray of shape (n_features, n_components)

交叉协方差矩阵 SVD 的左奇异向量。用于在 transform 中投影 X

y_weights_ndarray of (n_targets, n_components)

交叉协方差矩阵 SVD 的右奇异向量。用于在 transform 中投影 X

n_features_in_int

fit 过程中看到的特征数量。

feature_names_in_ndarray of shape ( n_features_in_ ,)

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

Added in version 1.0.

See also

PLSCanonical

部分最小二乘转换器和回归器。

CCA

典型相关分析。

Examples

>>> 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)#

拟合模型到数据。

Parameters:
Xarray-like of shape (n_samples, n_features)

训练样本。

yarray-like of shape (n_samples,) or (n_samples, n_targets)

目标。

Yarray-like of shape (n_samples,) or (n_samples, n_targets)

目标。

Deprecated since version 1.5: Y 在 1.5 版本中已被弃用,并将在 1.7 版本中移除。请使用 y 代替。

Returns:
selfobject

拟合的估计器。

fit_transform(X, y=None)#

学习并应用降维。

Parameters:
X形状为 (n_samples, n_features) 的类数组

训练样本。

y形状为 (n_samples,) 或 (n_samples, n_targets) 的类数组, 默认=None

目标。

Returns:
out类数组或类数组的元组

如果 Y 不为 None ,则返回变换后的数据 X_transformed , 否则返回 (X_transformed, Y_transformed)

get_feature_names_out(input_features=None)#

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

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

Parameters:
input_features类似数组的对象或None,默认为None

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

Returns:
feature_names_outndarray of str对象

转换后的特征名称。

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

估计器实例。

transform(X, y=None, Y=None)#

应用降维。

Parameters:
X形状为 (n_samples, n_features) 的类数组

要转换的样本。

y形状为 (n_samples,) 或 (n_samples, n_targets) 的类数组, 默认=None

目标。

Y形状为 (n_samples,) 或 (n_samples, n_targets) 的类数组, 默认=None

目标。

Deprecated since version 1.5: Y 在 1.5 版本中已弃用,并将在 1.7 版本中移除。请使用 y 代替。

Returns:
x_scores类数组或类数组元组

如果 Y is not None ,则返回转换后的数据 X_transformed , 否则返回 (X_transformed, Y_transformed)