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', normalized_stress='auto')[源代码]#
多维缩放。
阅读更多的 User Guide .
- 参数:
- n_componentsint,默认=2
将差异浸入其中的维度数量。
- metric布尔,默认=True
如果
True
,执行度量BDS;否则,执行非度量BDS。当False
(i.e.非度量的BDS),与0的差异被视为缺失值。- n_initint,默认=4
SMACOF算法将在不同初始化下运行的次数。最终结果将是运行的最佳输出,由最终压力最小的运行确定。
- max_iterint,默认=300
SMACOF算法单次运行的最大迭代次数。
- verboseint,默认=0
冗长的程度。
- eps浮点数,默认值= 1 e-3
相对于声明收敛的应力的相对公差。的价值
eps
应根据是否单独调整normalized_stress
市.我们- n_jobsint,默认=无
用于计算的作业数。如果使用多个初始化 (
n_init
),算法的每次运行都是并行计算的。None
意思是1,除非在a中joblib.parallel_backend
上下文-1
意味着使用所有处理器。看到 Glossary 了解更多详细信息。- random_stateint,RandomState实例或无,默认=无
确定用于初始化中心的随机数生成器。传递int以获得跨多个函数调用的可重复结果。看到 Glossary .
- dissimilarity'欧几里得',',',默认='欧几里得'
要使用的差异性测量:
- “欧几里得”:
数据集中点之间的成对欧几里得距离。
- “预先计算的”:
预先计算的差异直接传递给
fit
和fit_transform
.
- normalized_stressbool或“Auto”默认=“Auto”
是否使用并返回标准压力值(Stress-1)而不是默认计算的原始压力。仅支持非指标型的BDS。
Added in version 1.2.
在 1.4 版本发生变更: 默认值从
False
到"auto"
在1.4版本中。
- 属性:
- embedding_形状的nd数组(n_samples,n_components)
存储数据集在嵌入空间中的位置。
- stress_浮子
The final value of the stress (sum of squared distance of the disparities and the distances for all constrained points). If
normalized_stress=True
, andmetric=False
returns Stress-1. A value of 0 indicates "perfect" fit, 0.025 excellent, 0.05 good, 0.1 fair, and 0.2 poor [1].- dissimilarity_matrix_形状的nd数组(n_samples,n_samples)
两点之间的成对差异。对称矩阵:
要么通过设置使用自定义相异性矩阵
dissimilarity
到“预先计算的”;或者使用欧几里得距离从数据中构建相异性矩阵。
- n_features_in_int
期间看到的功能数量 fit .
Added in version 0.24.
- feature_names_in_ :nd形状数组 (
n_features_in_
,)nd数组形状( Names of features seen during fit. Defined only when
X
has feature names that are all strings.Added in version 1.0.
- n_iter_int
对应于最佳应力的迭代次数。
参见
sklearn.decomposition.PCA
主成分分析是一种线性降维方法。
sklearn.decomposition.KernelPCA
使用核和PCA进行非线性降维。
TSNE
T分布随机邻居嵌入。
Isomap
Manifold learning based on Isometric Mapping.
LocallyLinearEmbedding
使用局部线性嵌入进行总管学习。
SpectralEmbedding
非线性维度的谱嵌入。
引用
[1]“非度量多维缩放:一种数值方法”Kruskal,J. Psychmetrika,29(1964)
[2]“通过优化非度量假设的契合度进行多维缩放”Kruskal,J. Psychmetrika,29,(1964)
[3]“现代多维标度-理论与应用”博格,I; Groenen P. Springer统计学系列(1997)
示例
>>> 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, normalized_stress='auto') >>> X_transformed = embedding.fit_transform(X[:100]) >>> X_transformed.shape (100, 2)
有关更详细的使用示例,请参阅 多维标度 .
有关多种学习技术的比较,请参阅 多种学习方法的比较 .
- fit(X, y=None, init=None)[源代码]#
计算嵌入空间中点的位置。
- 参数:
- X形状类似阵列(n_samples,n_features)或 (n_samples,n_samples)
输入数据。如果
dissimilarity=='precomputed'
,输入应该是相异性矩阵。- y忽视
未使用,按照惯例,为了API一致性而存在。
- init形状的nd数组(n_samples,n_components),默认=无
开始配置嵌入以初始化SMACOF算法。默认情况下,该算法使用随机选择的数组初始化。
- 返回:
- self对象
拟合估计量。
- fit_transform(X, y=None, init=None)[源代码]#
匹配来自的数据
X
,并返回嵌入的坐标。- 参数:
- X形状类似阵列(n_samples,n_features)或 (n_samples,n_samples)
输入数据。如果
dissimilarity=='precomputed'
,输入应该是相异性矩阵。- y忽视
未使用,按照惯例,为了API一致性而存在。
- init形状的nd数组(n_samples,n_components),默认=无
开始配置嵌入以初始化SMACOF算法。默认情况下,该算法使用随机选择的数组初始化。
- 返回:
- X_new形状的nd数组(n_samples,n_components)
X在新的空间中变形。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请检查 User Guide 关于路由机制如何工作。
- 返回:
- routingMetadataRequest
A
MetadataRequest
封装路由信息。
- get_params(deep=True)[源代码]#
获取此估计器的参数。
- 参数:
- deep布尔,默认=True
如果为True,将返回此估计量和包含的作为估计量的子对象的参数。
- 返回:
- paramsdict
参数名称映射到其值。
- set_fit_request(*, init: bool | None | str = '$UNCHANGED$') MDS [源代码]#
请求元数据传递给
fit
法请注意,此方法仅适用于以下情况
enable_metadata_routing=True
(见sklearn.set_config
).请参阅 User Guide 关于路由机制如何工作。The options for each parameter are:
True
:元数据被请求并传递给fit
如果提供的话。如果未提供元数据,则会忽略请求。False
:未请求元数据,元估计器不会将其传递给fit
.None
:不请求元数据,如果用户提供元估计器,则元估计器将引发错误。str
:元数据应通过此给定别名而不是原始名称传递给元估计器。
默认 (
sklearn.utils.metadata_routing.UNCHANGED
)保留现有请求。这允许您更改某些参数的请求,而不是其他参数。Added in version 1.3.
备注
只有当该估计器用作元估计器的子估计器时,该方法才相关,例如在
Pipeline
.否则就没有效果了。- 参数:
- init字符串、真、假或无, 默认=sklearn.utils. metalics_Routing.UNChanged
元数据路由
init
参数fit
.
- 返回:
- self对象
更新的对象。