TSNE—聚类结果可视化


  TSNE的定位是高维数据可视化。对于聚类来说,输入的特征维数是高维的(大于三维),一般难以直接以原特征对聚类结果进行展示。而TSNE提供了一种有效的数据降维模式,是一种非线性降维算法,让我们可以在2维或者3维的空间里展示聚类结果。

一、TSNE参数解析

  t-SNE是一个可视化高维数据的工具。它将数据点之间的相似性转换为联合概率,并试图最小化低维嵌入数据和高维数据联合概率之间的KL散度。t-SNE具有非凸的代价函数,即不同的初始化可以得到不同的结果。

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')

sklearn.manifold.TSNE
优化TSNE
How to Use t-SNE Effectively想要具体了解参数含义与控制的可以参考这几个网站,我暂时没时间细细琢磨这些

二、案例

from sklearn.manifold import TSNE
from sklearn.datasets import load_iris,load_digits
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
import os

digits = load_digits()
X_tsne = TSNE(n_components=2,random_state=33).fit_transform(digits.data)
X_pca = PCA(n_components=2).fit_transform(digits.data)

ckpt_dir="images"
if not os.path.exists(ckpt_dir):
    os.makedirs(ckpt_dir)

plt.figure(figsize=(10, 5))
plt.subplot(121)
plt.scatter(X_tsne[:, 0], X_tsne[:, 1], c=digits.target,label="t-SNE")
plt.legend()
plt.subplot(122)
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=digits.target,label="PCA")
plt.legend()
plt.savefig('images/digits_tsne-pca.png', dpi=120)
plt.show()

在这里插入图片描述
从结果可以看出PCA降到二维后基本混到一起来,很难进行区分。而t-SNE的效果非常的不错。
无监督学习之t-SNE


如果对您有帮助,麻烦点赞关注,这真的对我很重要!!!如果需要互关,请评论留言或私信!
在这里插入图片描述


  • 91
    点赞
  • 223
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
t-SNE(t-Distributed Stochastic Neighbor Embedding)是一种非线性降维和可视化技术,常用于聚类分析。通过将高维数据映射为低维空间,t-SNE可以帮助我们更好地理解数据中的模式和结构。 tsne聚类分析的步骤如下: 1. 数据准备:首先,需要准备用于聚类分析的数据集。数据集可以是高维的,例如多个特征值的样本集。 2. 特征选择:如果数据集有多个特征,可以根据领域知识或特征选择算法选择最具代表性的特征。 3. 数据标准化:为了避免因为不同特征量级差异导致的偏差,通常需要对数据进行标准化处理。 4. t-SNE模型建立:将数据输入t-SNE模型进行降维。t-SNE算法通过保留数据点之间的相对距离来构建低维嵌入。 5. 参数选择:t-SNE有几个重要的参数,包括学习率、迭代次数等。根据数据集的大小和特征维度,选择合适的参数以确保结果可靠。 6. 可视化聚类结果:将降维后的低维数据点进行可视化,不同类别的数据点可以用不同的颜色或形状进行标识。 tsne聚类分析可以帮助我们发现数据集中存在的聚类结构,从而更好地了解数据的内在特点。通过可视化聚类结果,我们可以发现可能存在的异常点、重叠点、分类边界等,并根据需要进行相应优化和决策。 需要注意的是,t-SNE存在一些局限性,比如对于大规模数据集需要较长的计算时间,而且结果在不同运行中可能存在差异。因此,在进行tsne聚类分析时,需要在合适的参数设置和其他聚类算法(如K-means、层次聚类等)进行对比验证,以确保分析结果的准确性和可靠性。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值