本文简要介绍python语言中 sklearn.manifold.SpectralEmbedding
的用法。
用法:
class sklearn.manifold.SpectralEmbedding(n_components=2, *, affinity='nearest_neighbors', gamma=None, random_state=None, eigen_solver=None, n_neighbors=None, n_jobs=None)
用于非线性降维的频谱嵌入。
形成由指定函数给出的亲和矩阵,并将谱分解应用于相应的图拉普拉斯算子。结果转换由每个数据点的特征向量值给出。
注意:拉普拉斯特征图是这里实现的实际算法。
在用户指南中阅读更多信息。
- n_components:整数,默认=2
投影子空间的维度。
- affinity:{‘nearest_neighbors’, ‘rbf’, ‘precomputed’, ‘precomputed_nearest_neighbors’} 或可调用,默认='nearest_neighbors'
- 如何构建亲和矩阵。
- ‘nearest_neighbors’:通过计算最近邻图来构造亲和矩阵。
- ‘rbf’:通过计算径向基函数(RBF)内核来构造亲和矩阵。
- ‘precomputed’ :将
X
解释为预先计算的亲和度矩阵。 - ‘precomputed_nearest_neighbors’:将
X
解释为预先计算的最近邻的稀疏图,并通过选择n_neighbors
最近邻来构造亲和矩阵。 - 可调用:使用传入的函数作为亲和力,该函数接受数据矩阵(n_samples,n_features)并返回亲和力矩阵(n_samples,n_samples)。
- gamma:浮点数,默认=无
rbf 内核的内核系数。如果没有,gamma 将设置为 1/n_features。
- random_state:int、RandomState 实例或无,默认=无
伪随机数生成器,用于
eigen_solver == 'amg'
时 lobpcg 特征向量分解的初始化,以及 K-Means 初始化。使用 int 使结果在调用之间具有确定性(请参阅术语表)。注意
使用
eigen_solver == 'amg'
时,还需要使用np.random.seed(int)
修复全局 numpy 种子以获得确定性结果。有关详细信息,请参阅https://github.com/pyamg/pyamg/issues/139。- eigen_solver:{‘arpack’, ‘lobpcg’, ‘amg’},默认=无
要使用的特征值分解策略。 AMG 需要安装 pyamg。它可以在非常大、稀疏的问题上更快。如果无,则使用
'arpack'
。- n_neighbors:整数,默认=无
nearest_neighbors 图形构建的最近邻居数。如果没有,n_neighbors 将设置为 max(n_samples/10, 1)。
- n_jobs:整数,默认=无
要运行的并行作业数。
None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有处理器。有关详细信息,请参阅词汇表。
- embedding_:ndarray 形状(n_samples,n_components)
训练矩阵的频谱嵌入。
- affinity_matrix_:ndarray 形状(n_samples,n_samples)
Affinity_matrix 从样本构造或预先计算。
- n_features_in_:int
拟合期间看到的特征数。
- feature_names_in_:ndarray 形状(
n_features_in_
,) 拟合期间看到的特征名称。仅当
X
具有全为字符串的函数名称时才定义。- n_neighbors_:int
有效使用的最近邻居数。
参数:
属性:
参考:
- 频谱聚类教程,2007 年 Ulrike von Luxburghttp://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.165.9323
- 关于频谱聚类:分析和算法,2001 Andrew Y. Ng、Michael I. Jordan、Yair Weisshttp://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.8100
- 归一化切割和图像分割,2000 施剑波,Jitendra Malikhttp://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.160.2324
例子:
>>> 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)
相关用法
- Python sklearn SpectralClustering用法及代码示例
- Python sklearn SpectralBiclustering用法及代码示例
- Python sklearn SpectralCoclustering用法及代码示例
- Python sklearn SparsePCA用法及代码示例
- Python sklearn SplineTransformer用法及代码示例
- Python sklearn SparseCoder用法及代码示例
- Python sklearn SparseRandomProjection用法及代码示例
- Python sklearn ShrunkCovariance用法及代码示例
- Python sklearn SelfTrainingClassifier用法及代码示例
- Python sklearn SelectFromModel用法及代码示例
- Python sklearn SelectFpr用法及代码示例
- Python sklearn ShuffleSplit用法及代码示例
- Python sklearn StratifiedGroupKFold用法及代码示例
- Python sklearn Sum用法及代码示例
- Python sklearn SVR用法及代码示例
- Python sklearn SelectKBest用法及代码示例
- Python sklearn SimpleImputer用法及代码示例
- Python sklearn SGDOneClassSVM用法及代码示例
- Python sklearn StratifiedShuffleSplit用法及代码示例
- Python sklearn SVC用法及代码示例
- Python sklearn SGDRegressor用法及代码示例
- Python sklearn SequentialFeatureSelector用法及代码示例
- Python sklearn SelectPercentile用法及代码示例
- Python sklearn SkewedChi2Sampler用法及代码示例
- Python sklearn SGDClassifier用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.manifold.SpectralEmbedding。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。