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’:
預先計算的差異直接傳遞給fitfit_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
(179764)
>>> embedding = MDS(n_components=2)
>>> X_transformed = embedding.fit_transform(X[:100])
>>> X_transformed.shape
(1002)
方法 說明
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
估算量實例。