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
是否缩放
X
和Y
。- copybool, default=True
是否在拟合前复制
X
和Y
并进行中心化,以及可能的缩放。如果为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
配置
transform
和fit_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)
。