當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn SpectralEmbedding用法及代碼示例


本文簡要介紹python語言中 sklearn.manifold.SpectralEmbedding 的用法。

用法:

class sklearn.manifold.SpectralEmbedding(n_components=2, *, affinity='nearest_neighbors', gamma=None, random_state=None, eigen_solver=None, n_neighbors=None, n_jobs=None)

用於非線性降維的頻譜嵌入。

形成由指定函數給出的親和矩陣,並將譜分解應用於相應的圖拉普拉斯算子。結果轉換由每個數據點的特征向量值給出。

注意:拉普拉斯特征圖是這裏實現的實際算法。

在用戶指南中閱讀更多信息。

參數

n_components整數,默認=2

投影子空間的維度。

affinity{‘nearest_neighbors’, ‘rbf’, ‘precomputed’, ‘precomputed_nearest_neighbors’} 或可調用,默認='nearest_neighbors'
如何構建親和矩陣。
  • ‘nearest_neighbors’:通過計算最近鄰圖來構造親和矩陣。
  • ‘rbf’:通過計算徑向基函數(RBF)內核來構造親和矩陣。
  • ‘precomputed’ :將 X 解釋為預先計算的親和度矩陣。
  • ‘precomputed_nearest_neighbors’:將X解釋為預先計算的最近鄰的稀疏圖,並通過選擇n_neighbors最近鄰來構造親和矩陣。
  • 可調用:使用傳入的函數作為親和力,該函數接受數據矩陣(n_samples,n_features)並返回親和力矩陣(n_samples,n_samples)。
gamma浮點數,默認=無

rbf 內核的內核係數。如果沒有,gamma 將設置為 1/n_features。

random_stateint、RandomState 實例或無,默認=無

偽隨機數生成器,用於 eigen_solver == 'amg' 時 lobpcg 特征向量分解的初始化,以及 K-Means 初始化。使用 int 使結果在調用之間具有確定性(請參閱術語表)。

注意

使用 eigen_solver == 'amg' 時,還需要使用 np.random.seed(int) 修複全局 numpy 種子以獲得確定性結果。有關詳細信息,請參閱https://github.com/pyamg/pyamg/issues/139

eigen_solver{‘arpack’, ‘lobpcg’, ‘amg’},默認=無

要使用的特征值分解策略。 AMG 需要安裝 pyamg。它可以在非常大、稀疏的問題上更快。如果無,則使用'arpack'

n_neighbors整數,默認=無

nearest_neighbors 圖形構建的最近鄰居數。如果沒有,n_neighbors 將設置為 max(n_samples/10, 1)。

n_jobs整數,默認=無

要運行的並行作業數。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有處理器。有關詳細信息,請參閱詞匯表。

屬性

embedding_ndarray 形狀(n_samples,n_components)

訓練矩陣的頻譜嵌入。

affinity_matrix_ndarray 形狀(n_samples,n_samples)

Affinity_matrix 從樣本構造或預先計算。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

n_neighbors_int

有效使用的最近鄰居數。

參考

例子

>>> from sklearn.datasets import load_digits
>>> from sklearn.manifold import SpectralEmbedding
>>> X, _ = load_digits(return_X_y=True)
>>> X.shape
(1797, 64)
>>> embedding = SpectralEmbedding(n_components=2)
>>> X_transformed = embedding.fit_transform(X[:100])
>>> X_transformed.shape
(100, 2)

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.manifold.SpectralEmbedding。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。