Python聚类分析之sklearn.manifold.TSNE

本文介绍了Python机器学习库sklearn中的TSNE工具,用于高维数据可视化。TSNE通过将相似性转换为概率并最小化低维嵌入与高维数据之间的Kullback-Leibler差异来工作。文章讨论了关键参数如困惑度、早起夸大因子等,并提供了TSNE类的调用代码。同时,提到了优化过程中的迭代次数、最小梯度范数阈值等停止条件,以及初始化方法和角度参数在Barnes-Hut算法中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链接:sklearn.manifold.TSNE
TSNE:是可视化高维数据的工具。它将数据点之间的相似性转换为联合概率,并尝试最小化低维嵌入和高维数据的联合概率之间的Kullback-Leibler差异。t-SNE的成本函数不是凸的,即使用不同的初始化,我们可以获得不同的结果。
调用代码:

from sklearn.manifold import TSNE

class sklearn.manifold.TSNE(n_components=2, *, perplexity=30.0, early_exaggeration=12.0, learning_rate=200.0, n_iter=1000, n_iter_without_progress=300, min_grad_norm=1e-07, metric=‘euclidean’, init=‘random’, verbose=0, random_state=None, method=‘barnes_hut’, angle=0.5, n_jobs=None, square_distances=‘legacy’)

n_componentsint, default=2: 嵌入空间的尺寸。

perplexityfloat, default=30.0:这种困扰与其他流形学习算法中使用的最近邻数有关。更大的数据集通常需要更大的困惑。考虑在5和50之间选择一个值。不同的值可能导致显著不同的结果。

early_exaggerationfloat, default=12.0:控制原始空间中的自然簇在嵌入空间中的紧密程度以及它们之间的空间大小。对于较大的值,自然簇之间的空间将在嵌入空间中更大。同样,这个参数的选择不是很关键。如果在初始优化时成本函数增加,则早期夸大因子或学习率可能过高。

n_iter_without_progressint, default=300:在我们中止优化之前没有进展的最大迭代数,在250个初始迭代之后使用。注意,每50次迭代才检查一次进度,所以这个值四舍五入到50的下一个倍数。
New in version 0.17: parameter n_iter_without_progress to control stopping criteria.

min_grad_normfloat, default=1e-7:如果梯度范数低于这个阈值,优化将停止。

metricstr or callable, default=’euclidean’:在计算特性数组中实例之间的距离时使用的度量。
如果metric是一个字符串,它必须是scipy.spatial.distance.pdist所允许的参数之一,或者是pair中列出的参数。如果度规是“预先计算的”,则假定X是一个距离矩阵。或者,如果metric是一个可调用的函数,则对每一对实例(行)调用它并记录结果值。可调用对象应该从X中取两个数组作为输入,并返回一个表示它们之间距离的值。默认是“欧几里得”,它被解释为平方欧几里得距离。

init{‘random’, ‘pca’} or ndarray of shape (n_samples, n_components), default=’random’:初始化的嵌入。可能的选项是’ random ‘,’ pca '和numpy数组的形状(n_samples, n_components)。PCA初始化不能与预先计算的距离一起使用,而且通常比随机初始化更全局稳定。

angle:float, default=0.5仅当meth

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值