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

通过等距映射进行非线性降维。

引用

示例

>>> 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 封装路由信息。

get_params(deep=True)[源代码]#

获取此估计器的参数。

参数:
deep布尔,默认=True

如果为True,将返回此估计量和包含的作为估计量的子对象的参数。

返回:
paramsdict

参数名称映射到其值。

set_params(**params)[源代码]#

设置此估计器的参数。

该方法适用于简单估计器以及嵌套对象(例如 Pipeline ).后者具有以下形式的参数 <component>__<parameter> 以便可以更新嵌套对象的每个组件。

参数:
**paramsdict

估计参数。

返回:
self估计器实例

估计实例。