原文链接:http://tecdat.cn/?p=24002

最近我们被客户要求撰写关于非线性降维技术的研究报告,包括一些图形和统计输出。

T-distributed Stochastic Neighbor Embedding (T-SNE) 是一种可视化高维数据的工具。T-SNE 基于随机邻域嵌入,是一种非线性降维技术,用于在二维或三维空间中可视化数据

Python API 提供  T-SNE 方法可视化数据。在本教程中,我们将简要了解如何在 Python 中使用 TSNE 拟合和可视化数据。教程涵盖:

  • 鸢尾花数据集TSNE拟合与可视化
  • MNIST 数据集 TSNE 拟合和可视化

我们将从加载所需的库和函数开始。

import seaborn as sns
import pandas as pd

鸢尾花数据集TSNE拟合与可视化

加载 Iris 数据集后,我们将获取数据集的数据和标签部分。

x = iris.data
y = iris.target

然后,我们将使用 TSNE 类定义模型,这里的 n_components 参数定义了目标维度的数量。'verbose=1' 显示日志数据,因此我们可以检查它。

TSNE( verbose=1)

接下来,我们将在图中可视化结果。我们将在数据框中收集输出组件数据,然后使用“seaborn”库的 scatterplot() 绘制数据。在散点图的调色板中,我们设置 3,因为标签数据中有 3 种类型的类别。

df = p.Dtame()
df["] = y
df["cm"] =z[:,0]
df[cop"] = z[,]

plot(hue=dfytlst()
                patte=ns.cor_ptt("hls", 3),
                dat=df)

图片

MNIST 数据集 TSNE 拟合和可视化

接下来,我们将把同样的方法应用于更大的数据集。MNIST手写数字数据集非常合适,我们可以使用Keras API的MNIST数据。我们只提取数据集的训练部分,因为这里用TSNE来测试数据就足够了。TSNE需要太多的时间来处理,因此,我将只使用3000行。


点击标题查阅往期内容

图片

R语言高维数据的主成分pca、 t-SNE算法降维与可视化分析案例报告

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

x_train= xtrin[:3000]
y_rin = ytrin[:3000]
print(x_train.shape)

图片

MNIST 是一个三维数据,我们将其变形为二维数据。

print(xtishpe)
x_nit = rshap(_rin, [xran.shap[0],xtrn.shap[1]*xrin.shap[2])
print(x_mit.shape)

图片

在这里,我们有 784 个特征数据。现在,我们将使用 TSNE 将其投影到二维中,并在图中将其可视化。

z = tsne.fit(x_mnist)
df["comp1"] = z[:,0]
df["comp2"] = z[:,1]

plot(huedf.tit(),
                ata=f)

图片

该图显示了 MNIST 数据的二维可视化。颜色定义了目标数字及其在 2D 空间中的特征数据位置。

在本教程中,我们简要地学习了如何在 Python 中使用 TSNE 拟合和可视化数据。

图片

点击文末 “阅读原文”

获取全文完整代码数据资料。

本文选自《Python用T-SNE非线性降维技术拟合和可视化高维数据iris鸢尾花、MNIST 数据》。

点击标题查阅往期内容

Python用稀疏、高斯随机投影和主成分分析PCA对MNIST手写数字数据进行降维可视化
R语言k-means聚类、层次聚类、主成分(PCA)降维及可视化分析鸢尾花iris数据集R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化
R语言主成分分析(PCA)葡萄酒可视化:主成分得分散点图和载荷图
R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化
R语言用温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化
主成分分析(PCA)原理及R语言实现及分析实例
R语言法国足球联赛球员因子分析、主成分分析(FA,PCA)
偏最小二乘回归(PLSR)和主成分回归(PCR)
R语言高维数据的主成分pca、t-SNE算法降维与可视化分析案例报告
R语言有RStan的多维验证性因子分析(CFA)
R语言对混合分布中的不可观测与可观测异质性因子分析
R语言法国足球联赛球员多重对应分析(MCA)


拓端tecdat
198 声望54 粉丝