SpectralEmbedding#
- class sklearn.manifold.SpectralEmbedding(n_components=2, *, affinity='nearest_neighbors', gamma=None, random_state=None, eigen_solver=None, eigen_tol='auto', n_neighbors=None, n_jobs=None)[源代码]#
Spectral embedding for non-linear dimensionality reduction.
形成由指定函数给定的亲和力矩阵,并将谱分解应用于相应的图拉普拉斯。由此产生的变换由每个数据点的特征量的值给出。
注意:拉普拉斯特征映射是这里实现的实际算法。
阅读更多的 User Guide .
- 参数:
- n_componentsint,默认=2
投影子空间的维度。
- affinity请输入“nearest_neighbors”,“rbf”,“precomputed”, 'precomputed_nearest_neighbors'}或可调用, default ='nearest_neighbors'
- 如何构建亲和力矩阵。
“nearest_neighbors”:通过计算最近邻居图来构建亲和力矩阵。
“rBF”:通过计算辐射基函数(RBS)核来构建亲和力矩阵。
“预先计算”:解释
X
作为预先计算的亲和力矩阵。'precomputed_nearest_neighbors':解释
X
作为预先计算的最近邻居的稀疏图,并通过选择n_neighbors
最近的邻居。可赎回:使用传入的函数作为亲和度函数接受数据矩阵(n_samples,n_features)并返回亲和度矩阵(n_samples,n_samples)。
- gammafloat,默认=无
rBF核的核系数。如果无,则gamma将设置为1/n_features。
- random_stateint,RandomState实例或无,默认=无
伪随机数生成器,用于初始化lobpcg本征载体分解,当
eigen_solver == 'amg'
,以及K-Means初始化。使用int使结果在调用之间具有确定性(请参阅 Glossary ).备注
当使用
eigen_solver == 'amg'
,也有必要用来修复全球麻木的种子np.random.seed(int)
以获得确定性结果。欲了解更多信息,请访问https://github.com/pyamg/pyamg/issues/139。- eigen_solver{'arpack', 'lobpcg', 'amg'}, default=None
要使用的特征值分解策略。AMG需要安装pyamg。它可以在非常大、稀疏的问题上更快。如果没有,那么
'arpack'
采用了- eigen_tolfloat,default=“auto”
拉普拉斯矩阵特征分解的停止准则。如果
eigen_tol="auto"
那么通过的公差将取决于eigen_solver
:如果
eigen_solver="arpack"
那么eigen_tol=0.0
;如果
eigen_solver="lobpcg"
或eigen_solver="amg"
那么eigen_tol=None
它配置了底层lobpcg
解算器根据其几何学自动解析值。看,scipy.sparse.linalg.lobpcg
有关详细信息
请注意,使用时
eigen_solver="lobpcg"
或eigen_solver="amg"
值tol<1e-5
可能会导致趋同问题,应该避免。Added in version 1.2.
- n_neighborsint,默认=无
用于构建nearest_neighbors图形的最近邻居数量。如果无,则n_neighbors将被设置为max(n_samples/10,1)。
- n_jobsint,默认=无
要运行的并行作业数。
None
意思是1,除非在a中joblib.parallel_backend
上下文-1
意味着使用所有处理器。看到 Glossary 了解更多详细信息。
- 属性:
- embedding_形状的nd数组(n_samples,n_components)
训练矩阵的谱嵌入。
- affinity_matrix_形状的nd数组(n_samples,n_samples)
根据样本构建或预先计算的Affinity_matrix。
- 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_neighbors_int
有效使用的最近邻居数量。
参见
Isomap
通过等距映射进行非线性降维。
引用
On Spectral Clustering: Analysis and an algorithm, 2001 Andrew Y. Ng, Michael I. Jordan, Yair Weiss <https://citeseerx.ist.psu.edu/doc_view/pid/796c5d6336fc52aa84db575fb821c78918b65f58>
_Normalized cuts and image segmentation, 2000 Jianbo Shi, Jitendra Malik
示例
>>> from sklearn.datasets import load_digits >>> from sklearn.manifold import SpectralEmbedding >>> X, _ = load_digits(return_X_y=True) >>> X.shape (1797, 64) >>> embedding = SpectralEmbedding(n_components=2) >>> X_transformed = embedding.fit_transform(X[:100]) >>> X_transformed.shape (100, 2)
- fit(X, y=None)[源代码]#
根据X中的数据匹配模型。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
训练载体,在哪里
n_samples
是样本数量和n_features
是功能的数量。如果亲和度是“预先计算的”X:{array-like,sparse matrix},shape(n_samples,n_samples),将X解释为从样本计算的预先计算的邻接图。
- y忽视
未使用,按照惯例,为了API一致性而存在。
- 返回:
- self对象
返回实例本身。
- fit_transform(X, y=None)[源代码]#
根据X中的数据匹配模型并转换X。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
训练载体,在哪里
n_samples
是样本数量和n_features
是功能的数量。如果亲和力是“预先计算的”X:形状(n_samples,n_samples)的{类数组,稀疏矩阵},则将X解释为根据样本计算的预先计算的邻近图。
- y忽视
未使用,按照惯例,为了API一致性而存在。
- 返回:
- X_new形状类似阵列(n_samples,n_components)
训练矩阵的谱嵌入。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请检查 User Guide 关于路由机制如何工作。
- 返回:
- routingMetadataRequest
A
MetadataRequest
封装路由信息。