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


Python sklearn Isomap用法及代碼示例


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

用法:

class sklearn.manifold.Isomap(*, n_neighbors=5, n_components=2, eigen_solver='auto', tol=0, max_iter=None, path_method='auto', neighbors_algorithm='auto', n_jobs=None, metric='minkowski', p=2, metric_params=None)

Isomap 嵌入。

通過等距映射進行非線性降維

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

參數

n_neighbors整數,默認=5

每個點要考慮的鄰居數。

n_components整數,默認=2

流形的坐標數。

eigen_solver{‘auto’, ‘arpack’, ‘dense’},默認='自動'

‘auto’:嘗試為給定問題選擇最有效的求解器。

‘arpack’:使用 Arnoldi 分解來查找特征值和特征向量。

‘dense’:使用直接求解器(即 LAPACK)進行特征值分解。

tol浮點數,默認=0

收斂容差傳遞給 arpack 或 lobpcg。如果eigen_solver == ‘dense’,則不使用。

max_iter整數,默認=無

arpack 求解器的最大迭代次數。如果eigen_solver == ‘dense’,則不使用。

path_method{‘auto’, ‘FW’, ‘D’}, 默認=‘auto’

用於查找最短路徑的方法。

‘auto’:嘗試自動選擇最佳算法。

‘FW’:Floyd-Warshall算法。

“D”:Dijkstra 算法。

neighbors_algorithm{‘auto’, ‘brute’,‘kd_tree’, ‘ball_tree’},默認='自動'

用於最近鄰搜索的算法,傳遞給 neighbors.NearestNeighbors 實例。

n_jobsint 或無,默認=無

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

metricstr,或可調用,默認=”minkowski”

計算特征數組中實例之間的距離時使用的度量。如果 metric 是一個字符串或可調用的,它必須是 sklearn.metrics.pairwise_distances 為其 metric 參數允許的選項之一。如果 metric 是“precomputed”,X 被假定為一個距離矩陣並且必須是正方形。 X 可能是一個詞匯表。

p整數,默認=2

來自 sklearn.metrics.pairwise.pairwise_distances 的 Minkowski 度量的參數。當 p = 1 時,這相當於使用 manhattan_distance (l1),而對於 p = 2,則使用 euclidean_distance (l2)。對於任意 p,使用 minkowski_distance (l_p)。

metric_params字典,默認=無

度量函數的附加關鍵字參數。

屬性

embedding_類似數組,形狀(n_samples,n_components)

存儲嵌入向量。

kernel_pca_對象

KernelPCA 用於實現嵌入的對象。

nbrs_sklearn.neighbors.NearestNeighbors 實例

存儲最近鄰實例,包括BallTree 或 KDtree(如果適用)。

dist_matrix_類似數組,形狀 (n_samples, n_samples)

存儲訓練數據的測地距離矩陣。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

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

參考

1

特南鮑姆,J.B.;德席爾瓦,V。 & Langford, J.C. 非線性降維的全局幾何框架。科學 290 (5500)

例子

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

相關用法


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