GaussianRandomProjection#
- class sklearn.random_projection.GaussianRandomProjection(n_components='auto', *, eps=0.1, compute_inverse_components=False, random_state=None)[原始碼]#
透過高斯隨機投影降低維度。
隨機矩陣的分量取自 N(0, 1 / n_components)。
請參閱使用者指南以了解更多資訊。
在 0.13 版本中新增。
- 參數:
- n_componentsint 或 ‘auto’,預設為 ‘auto’
目標投影空間的維度。
n_components 可以根據數據集中的樣本數量以及 Johnson-Lindenstrauss 引理給定的界限自動調整。在這種情況下,嵌入的品質由
eps
參數控制。應該注意的是,Johnson-Lindenstrauss 引理可能會產生對所需元件數量的非常保守的估計,因為它沒有對數據集的結構做出任何假設。
- epsfloat,預設為 0.1
當
n_components
設定為 ‘auto’ 時,根據 Johnson-Lindenstrauss 引理控制嵌入品質的參數。該值應嚴格為正數。較小的值會帶來更好的嵌入效果,並在目標投影空間中產生更高的維度 (n_components)。
- compute_inverse_componentsbool,預設為 False
透過在擬合期間計算組件的偽逆來學習逆轉換。請注意,計算偽逆對於大型矩陣來說無法良好擴展。
- random_stateint、RandomState 實例或 None,預設為 None
控制用於在擬合時產生投影矩陣的偽隨機數產生器。傳遞一個整數以在多個函式呼叫之間產生可重複的輸出。請參閱詞彙表。
- 屬性:
- n_components_int
當 n_components=”auto” 時計算的組件的具體數量。
- components_形狀為 (n_components, n_features) 的 ndarray
用於投影的隨機矩陣。
- inverse_components_形狀為 (n_features, n_components) 的 ndarray
組件的偽逆,僅當
compute_inverse_components
為 True 時計算。在 1.1 版本中新增。
- n_features_in_int
在 fit 期間看到的特徵數量。
在 0.24 版本中新增。
- feature_names_in_形狀為 (
n_features_in_
,) 的 ndarray 在 fit 期間看到的特徵名稱。僅當
X
具有全部為字串的特徵名稱時定義。在 1.0 版本中新增。
範例
>>> import numpy as np >>> from sklearn.random_projection import GaussianRandomProjection >>> rng = np.random.RandomState(42) >>> X = rng.rand(25, 3000) >>> transformer = GaussianRandomProjection(random_state=rng) >>> X_new = transformer.fit_transform(X) >>> X_new.shape (25, 2759)
- 透過稀疏隨機投影降低維度。
-
- 參數:
- 產生稀疏隨機投影矩陣。
X形狀為 (n_samples, n_features) 的 {ndarray, 稀疏矩陣}
- 訓練集:僅使用形狀來根據上述論文中引用的理論找到最佳隨機矩陣維度。
y忽略
- 不使用,此處為了 API 一致性而存在。
- 傳回值:
selfobject
- BaseRandomProjection 類別實例。
fit_transform(X, y=None, **fit_params)[原始碼]#
將資料擬合,然後轉換資料。
- 參數:
- 使用可選參數
fit_params
將轉換器擬合到X
和y
,並傳回X
的轉換版本。 X形狀為 (n_samples, n_features) 的類陣列
- 輸入樣本。
y形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類陣列,預設為 None
- 目標值(無監督轉換為 None)。
**fit_paramsdict
- 使用可選參數
- 不使用,此處為了 API 一致性而存在。
- 其他擬合參數。
X_new形狀為 (n_samples, n_features_new) 的 ndarray 陣列
- 轉換後的陣列。
get_feature_names_out(input_features=None)[原始碼]#
取得轉換的輸出特徵名稱。
- 參數:
- 輸出特徵名稱將以小寫類別名稱作為前綴。例如,如果轉換器輸出 3 個特徵,則輸出特徵名稱為:
["class_name0", "class_name1", "class_name2"]
。 input_features字串或 None 的類陣列,預設為 None
- 輸出特徵名稱將以小寫類別名稱作為前綴。例如,如果轉換器輸出 3 個特徵,則輸出特徵名稱為:
- 不使用,此處為了 API 一致性而存在。
- 僅用於驗證特徵名稱是否與
fit
中看到的名稱一致。 feature_names_out字串物件的 ndarray
- 僅用於驗證特徵名稱是否與
- 轉換後的特徵名稱。
-
取得此物件的中繼資料路由。
- 不使用,此處為了 API 一致性而存在。
- 請查看 使用者指南,了解路由機制的運作方式。
routingMetadataRequest
- get_params(deep=True)[原始碼]#
取得此估算器的參數。
- 參數:
- deepbool,預設值為 True
若為 True,將會回傳此估算器及包含的子物件(亦為估算器)的參數。
- 不使用,此處為了 API 一致性而存在。
- paramsdict
參數名稱對應到其值的字典。
- inverse_transform(X)[原始碼]#
將資料投影回原始空間。
回傳一個 X_original 陣列,其轉換結果會是 X。請注意,即使 X 是稀疏矩陣,X_original 也是稠密矩陣:這可能會使用大量的 RAM。
如果
compute_inverse_components
為 False,則會在每次呼叫inverse_transform
時計算反向組件,這可能會很耗費資源。- 參數:
- X形狀為 (n_samples, n_components) 的類陣列或稀疏矩陣
要轉換回原始空間的資料。
- 不使用,此處為了 API 一致性而存在。
- X_original形狀為 (n_samples, n_features) 的 ndarray
重建後的資料。
- 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"
選項。
- 不使用,此處為了 API 一致性而存在。
- self估算器實例
估算器實例。