ClassicalMDS#
- class sklearn.manifold.ClassicalMDS(n_components=2, *, metric='euclidean', metric_params=None)[source]#
经典多维缩放 (MDS)。
这也称为主坐标分析 (PCoA) 或 Torgerson 缩放。它是 MDS 的一种变体,通过特征分解具有精确解。如果输入的相异度矩阵由某些向量之间的两两欧几里得距离组成,则经典 MDS 等同于应用于该向量集的主成分分析 (PCA)。
阅读更多信息请参阅 用户指南。
- 参数:
- n_componentsint, default=2
嵌入维度的数量。
- metricstr or callable, default=’euclidean’
用于计算相异度的度量标准。默认为“euclidean”。
如果 metric 为字符串,则必须是
scipy.spatial.distance.pdist的 metric 参数所允许的选项之一,或者是sklearn.metrics.pairwise.distance_metrics中列出的度量标准。如果 metric 为“precomputed”,则假定 X 为距离矩阵,且在拟合(fit)期间必须为方阵。
如果 metric 是可调用函数,它接受表示 1D 向量的两个数组作为输入,并且必须返回一个值来指示这些向量之间的距离。这适用于 Scipy 的度量,但效率低于将度量名称作为字符串传递。
- metric_paramsdict, default=None
用于相异度计算的额外关键字参数。
- 属性:
- embedding_形状为 (n_samples, n_components) 的 ndarray
存储嵌入空间中数据集的位置。
- dissimilarity_matrix_形状为 (n_samples, n_samples) 的 ndarray
点之间的两两相异度。
- eigenvalues_形状为 (n_components,) 的 ndarray
双中心化相异度矩阵的特征值,对应于每个选定的分量。它们等于嵌入空间中
n_components变量的平方 2-范数。- n_features_in_int
在 拟合 期间看到的特征数。
- feature_names_in_shape 为 (
n_features_in_,) 的 ndarray 在 fit 期间看到的特征名称。仅当
X具有全部为字符串的特征名称时才定义。
另请参阅
sklearn.decomposition.PCA主成分分析。
MDS度量和非度量 MDS。
References
[1]“Modern Multidimensional Scaling - Theory and Applications” Borg, I.; Groenen P. Springer Series in Statistics (1997)
示例
>>> from sklearn.datasets import load_digits >>> from sklearn.manifold import ClassicalMDS >>> X, _ = load_digits(return_X_y=True) >>> X.shape (1797, 64) >>> cmds = ClassicalMDS(n_components=2) >>> X_emb = cmds.fit_transform(X[:100]) >>> X_emb.shape (100, 2)
- fit(X, y=None)[source]#
计算嵌入位置。
- 参数:
- X形状为 (n_samples, n_features) 或 (n_samples, n_samples) 的类数组对象
输入数据。如果
metric=='precomputed',则输入应为相异度矩阵。- y被忽略
未使用,按照惯例为保持 API 一致性而存在。
- 返回:
- selfobject
拟合的估计器。
- fit_transform(X, y=None)[source]#
计算并返回嵌入位置。
- 参数:
- X形状为 (n_samples, n_features) 或 (n_samples, n_samples) 的类数组对象
输入数据。如果
metric=='precomputed',则输入应为相异度矩阵。- y被忽略
未使用,按照惯例为保持 API 一致性而存在。
- 返回:
- X_newndarray of shape (n_samples, n_components)
嵌入坐标。
- get_metadata_routing()[source]#
获取此对象的元数据路由。
请查阅 用户指南,了解路由机制如何工作。
- 返回:
- routingMetadataRequest
封装路由信息的
MetadataRequest。