ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

拓端tecdat|Python用T-SNE非线性降维技术拟合和可视化高维数据iris鸢尾花、MNIST 数据

2021-10-27 22:05:30  阅读:312  来源: 互联网

标签:iris SNE TSNE df 可视化 拟合 鸢尾花 数据 MNIST


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

原文出处:拓端数据部落公众号

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

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

  1. 鸢尾花数据集TSNE拟合与可视化
  2. MNIST 数据集 TSNE 拟合和可视化

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

  1.    
  2.   import seaborn as sns
  3.   import pandas as pd  

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

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

  1.   x = iris.data
  2.   y = iris.target 

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

TSNE( verbose=1)

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

  1.   df = p.Dtame()
  2.   df["] = y
  3.   df["cm"] =z[:,0]
  4.   df[cop"] = z[,]
  5.    
  6.   plot(hue=dfytlst()
  7.   patte=ns.cor_ptt("hls", 3),
  8.   dat=df) 

MNIST 数据集 TSNE 拟合和可视化

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

  1.    
  2.   x_train= xtrin[:3000]
  3.   y_rin = ytrin[:3000]
  4.   print(x_train.shape) 

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

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

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

  1.   z = tsne.fit(x_mnist)
  2.   df["comp1"] = z[:,0]
  3.   df["comp2"] = z[:,1]
  4.    
  5.   plot(huedf.tit(),
  6.   ata=f)

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

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


最受欢迎的见解

1.matlab偏最小二乘回归(PLSR)和主成分回归(PCR)

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

3.主成分分析(PCA)基本原理及分析实例

4.基于R语言实现LASSO回归分析

5.使用LASSO回归预测股票收益数据分析

6.r语言中对lasso回归,ridge岭回归和elastic-net模型

7.r语言中的偏最小二乘回归pls-da数据分析

8.r语言中的偏最小二乘pls回归算法

9.R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

标签:iris,SNE,TSNE,df,可视化,拟合,鸢尾花,数据,MNIST
来源: https://www.cnblogs.com/tecdat/p/15473225.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有