class sklearn.manifold.LocallyLinearEmbedding(*, n_neighbors=5, n_components=2, reg=0.001, eigen_solver='auto', tol=1e-06, max_iter=100, method='standard', hessian_tol=0.0001, modified_tol=1e-12, neighbors_algorithm='auto', random_state=None, n_jobs=None)
[
源码]
局部线性嵌入
在
用户指南
中阅读更多内容。
arpack
use arnoldi iteration in shift-invert mode.
对于此方法,M可以是稠密矩阵,稀疏矩阵或一般线性式子。警告:由于某些问题,ARPACK可能不稳定。最好尝试几个随机种子以检查结果。
dense
use standard dense matrix operations for the eigenvalue
分解。对于此方法,M必须为数组或矩阵类型。对于大问题应避免使用此方法。
float, optional
如果eigen_solver==’dense’,则不使用“arpack”方法的容差。
max_iter
integer
arpack求解器的最大迭代次数。如果eigen_solver =='dense',则不使用。
method
string (‘standard’, ‘hessian’, ‘modified’ or ‘ltsa’)
standard
use the standard locally linear embedding algorithm. see
参考参考文献[1]
hessian
use the Hessian eigenmap method. This method requires
n_neighbors > n_components * (1 + (n_components + 1) / 2
参见参考文献[2]
modified
use the modified locally linear embedding algorithm.
参见参考文献[3]
use local tangent space alignment algorithm
参见参考文献[4]
hessian_tol
float, optional
Hessian特征映射方法的公差。仅在
method == 'hessian'
这种情况下使用
modified_tol
float, optional
修正的LLE方法的公差。仅在
method == 'hessian'
这种情况下使用
neighbors_algorithm
string [‘auto’,’brute’,’kd_tree’,’ball_tree’]
用于最近邻居搜索的算法,传递给邻居。NearestNeighbors实例
random_state
int, RandomState instance, default=None
当
eigen_solver
=='arpack' 时确定随机数生成器 。在多个函数调用之间传递int以获得可重复的结果。请参阅:term:
Glossary <random_state>
.
n_jobs
int or None, optional (default=None)
用于进行计算的CPU数量。
None
除非在
joblib.parallel_backend
环境中,否则表示1 。 undefined表示使用所有处理器。有关更多详细信息,请参见
词汇表
。
1
Roweis, S. & Saul, L. Nonlinear dimensionality reduction by locally linear embedding. Science 290:2323 (2000).
2
Donoho, D. & Grimes, C. Hessian eigenmaps: Locally linear embedding techniques for high-dimensional data. Proc Natl Acad Sci U S A. 100:5591 (2003).
3
Zhang, Z. & Wang, J. MLLE: Modified Locally Linear Embedding Using Multiple Weights. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.70.382
4
Zhang, Z. & Zha, H. Principal manifolds and nonlinear dimensionality reduction via tangent space alignment. Journal of Shanghai Univ. 8:406 (2004)
>>> from sklearn.datasets import load_digits
>>> from sklearn.manifold import LocallyLinearEmbedding
>>> X, _ = load_digits(return_X_y=True)
>>> X.shape
(1797, 64)
>>> embedding = LocallyLinearEmbedding(n_components=2)
>>> X_transformed = embedding.fit_transform(X[:100])
>>> X_transformed.shape
(100, 2)
__init__(*, n_neighbors=5, n_components=2, reg=0.001, eigen_solver='auto', tol=1e-06, max_iter=100, method='standard', hessian_tol=0.0001, modified_tol=1e-12, neighbors_algorithm='auto', random_state=None, n_jobs=None)
[
源码]
初始化self, 请参阅help(type(self))以获得准确的说明。
fit(X, y=None)
[
源码]
计算数据X的嵌入向量