PLSSVD#
- class sklearn.cross_decomposition.PLSSVD(n_components=2, *, scale=True, copy=True)[source]#
偏最小平方奇異值分解 (Partial Least Square SVD)。
此轉換器僅對交叉共變異數矩陣
X'Y
執行奇異值分解 (SVD)。它能夠投影訓練資料X
和目標Y
。訓練資料X
投影到左奇異向量上,而目標則投影到右奇異向量上。在使用者指南中閱讀更多內容。
在 0.8 版本中新增。
- 參數:
- n_componentsint,預設值=2
要保留的組件數量。應在
[1, min(n_samples, n_features, n_targets)]
範圍內。- scalebool,預設值=True
是否縮放
X
和Y
。- copybool,預設值=True
是否在進行中心化和可能的縮放之前,複製
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_int
在 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=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) 的類陣列,預設值為 None
目標。
- 返回:
- out類陣列或類陣列的元組
如果
Y 不是 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)[原始碼]#
取得此估計器的參數。
- 參數:
- deepbool,預設值為 True
如果為 True,將返回此估計器和包含的子物件(也是估計器)的參數。
- 返回:
- paramsdict
參數名稱對應到它們的值。
- 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估計器實例
估計器實例。
- 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) 的類陣列,預設值為 None
目標。
- Y形狀為 (n_samples,) 或 (n_samples, n_targets) 的類陣列,預設值=None
目標。
自 1.5 版起已棄用:
Y
已在 1.5 版中棄用,並將在 1.7 版中移除。請改用y
。
- 返回:
- x_scores類陣列或類陣列的元組
如果
Y 不是 None
,則為轉換後的資料X_transformed
,否則為(X_transformed, Y_transformed)
。