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 估算量实例。 |