PLSSVD#
- class sklearn.cross_decomposition.PLSSVD(n_components=2, *, scale=True, copy=True)[源码]#
偏最小二乘SVD。
此变换器(transformer)仅对交叉协方差矩阵
X'y
执行SVD。它能够同时投影训练数据X
和目标y
。训练数据X
投影在左奇异向量上,而目标则投影在右奇异向量上。在用户指南中阅读更多内容。
版本 0.8 中新增。
- 参数:
- n_components整型,默认值为 2
要保留的组件数量。应在
[1, min(n_samples, n_features, n_targets)]
范围内。- scale布尔型,默认值为 True
是否对
X
和y
进行缩放。- copy布尔型,默认值为 True
在应用中心化和(可能)缩放之前,是否在 `fit` 中复制
X
和y
。如果为False
,这些操作将原地完成,修改两个数组。
- 属性:
- x_weights_形状为 (n_features, n_components) 的 ndarray
交叉协方差矩阵SVD的左奇异向量。用于在
transform
中投影X
。- y_weights_形状为 (n_targets, n_components) 的 ndarray
交叉协方差矩阵SVD的右奇异向量。用于在
transform
中投影X
。- n_features_in_整型
在拟合(fit)期间看到的特征数量。
- feature_names_in_形状为 (
n_features_in_
,) 的 ndarray 在拟合(fit)期间看到的特征名称。仅当
X
的所有特征名称都是字符串时才定义。版本 1.0 中新增。
另请参见
PLSCanonical
偏最小二乘变换器和回归器。
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)[源码]#
将模型拟合到数据。
- 参数:
- X形状为 (n_samples, n_features) 的类数组对象
训练样本。
- y形状为 (n_samples,) 或 (n_samples, n_targets) 的类数组对象
目标。
- 返回:
- self对象
已拟合的估计器。
- fit_transform(X, y=None)[源码]#
学习并应用降维。
- 参数:
- X形状为 (n_samples, n_features) 的类数组对象
训练样本。
- y形状为 (n_samples,) 或 (n_samples, n_targets) 的类数组对象,默认值为 None
目标。
- 返回:
- out类数组对象或类数组对象的元组
如果
y is not None
,则为转换后的数据X_transformed
;否则为(X_transformed, y_transformed)
。
- 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)[源码]#
设置输出容器。
请参阅set_output API 介绍以了解如何使用该 API 的示例。
- 参数:
- transform{“default”,“pandas”,“polars”},默认值为 None
配置
transform
和fit_transform
的输出。"default"
: 变换器的默认输出格式"pandas"
: DataFrame 输出"polars"
: Polars 输出None
: 转换配置不变
版本 1.4 新增: 添加了
"polars"
选项。
- 返回:
- self估计器实例
估计器实例。