sklearn.manifold.MDS?
class sklearn.manifold.MDS(n_components=2, *, metric=True, n_init=4, max_iter=300, verbose=0, eps=0.001, n_jobs=None, random_state=None, dissimilarity='euclidean')
多維縮放
在用戶指南中閱讀更多內容。
參數 | 說明 |
---|---|
n_components | int, optional, default: 2 降維到的維數 |
metric | boolean, optional, default: True 如果為 True ,則執行度量MDS;否則,執行非度量MDS。 |
n_init | int, optional, default: 4 不同初始化時SMACOF算法運行的次數。最終結果將是運行的最佳輸出,由具有最小最終壓力(stress)的運行決定。 |
max_iter | int, optional, default: 300 單次運行的SMACOF算法的最大迭代次數。 |
verbose | int, optional, default: 0 詳細程度。 |
eps | float, optional, default: 1e-3 關于壓力(stress)的相對公差,在該應力下可以收斂。 |
n_jobs | int or None, optional (default=None) 用于進行計算的CPU數量。 如果使用多個初始化( n_init ),則算法的每次運行都是并行計算的。None 除非在joblib.parallel_backend 環境中,否則表示1 。 undefined表示使用所有處理器。有關更多詳細信息,請參見詞匯表。 |
random_state | int, RandomState instance, default=None 確定用于初始化中心的隨機數生成器。通過一個int跨多個函數調用的結果。參見term: Glossary <random_state> . |
dissimilarity | ‘euclidean’,‘precomputed’, optional, default: ‘euclidean’ 使用的差異度量: - ‘euclidean’: 數據集中點之間的成對歐幾里得距離(euclidean)。 - ‘precomputed’: 預先計算的差異直接傳遞給 fit 和 fit_transform 。 |
屬性 | 說明 |
---|---|
embedding_ | array-like, shape (n_samples, n_components) 將數據集的位置存儲在嵌入空間中。 |
stress_ | float 壓力(stress)的最終值(差異平方距離和所有約束點距離的平方和)。 |
參考文獻
1 “Modern Multidimensional Scaling - Theory and Applications” Borg, I.; Groenen P. Springer Series in Statistics (1997)
2 “Nonmetric multidimensional scaling: a numerical method” Kruskal, J. Psychometrika, 29 (1964)
3 “Multidimensional scaling by optimizing goodness of fit to a nonmetric hypothesis” Kruskal, J. Psychometrika, 29, (1964)
實例
>>> from sklearn.datasets import load_digits
>>> from sklearn.manifold import MDS
>>> X, _ = load_digits(return_X_y=True)
>>> X.shape
(1797, 64)
>>> embedding = MDS(n_components=2)
>>> X_transformed = embedding.fit_transform(X[:100])
>>> X_transformed.shape
(100, 2)
方法 | 說明 |
---|---|
fit (X[, y, init]) |
計算點在嵌入空間中的位置 |
fit_transform (X[, y, init]) |
從X擬合數據,并返回嵌入的坐標 |
get_params ([deep]) |
獲取此估計量的參數。 |
set_params (**params) |
設置此估算量的參數。 |
__init__(n_components=2, *, metric=True, n_init=4, max_iter=300, verbose=0, eps=0.001, n_jobs=None, random_state=None, dissimilarity='euclidean')
[源碼]
初始化self, 請參閱help(type(self))以獲得準確的說明。
fit(X, y=None, init=None)
[源碼]
計算點在嵌入空間中的位置
參數 | 說明 |
---|---|
X | array, shape (n_samples, n_features) or (n_samples, n_samples) 輸入數據。如果為 dissimilarity=='precomputed' ,則輸入應為相異矩陣。 |
y | Ignored |
init | ndarray, shape (n_samples,), optional, default: None 開始配置嵌入以初始化SMACOF算法。默認情況下,算法是用隨機選擇的數組初始化的。 |
fit_transform(X, y=None, init=None)
[源碼]
從X擬合數據,并返回嵌入的坐標
參數 | 說明 |
---|---|
X | array, shape (n_samples, n_features) or (n_samples, n_samples) 輸入數據。如果為 dissimilarity=='precomputed' ,則輸入應為相異矩陣。 |
y | Ignored |
init | ndarray, shape (n_samples,), optional, default: None 開始配置嵌入以初始化SMACOF算法。默認情況下,算法是用隨機選擇的數組初始化的。 |
get_params(deep=True)
[源碼]
獲取此估計量的參數。
參數 | 說明 |
---|---|
deep | bool, default=True 如果為True,則將返回此估算量和作為估算量的所包含子對象的參數。 |
返回值 | 說明 |
---|---|
params | mapping of string to any 映射到其值的參數名。 |
set_params(**params)
[源碼]
設置此估算量的參數。
該方法適用于簡單估計量以及嵌套對象(例如pipelines)。后者具有形式的參數。<component>__<parameter>
以便可以更新嵌套對象的每個組件。
參數 | 說明 |
---|---|
**params | dict 估算量參數。 |
返回值 | 說明 |
---|---|
self | object 估算量實例。 |