ICode9

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

拓端tecdat|Python用稀疏、高斯随机投影和主成分分析PCA对MNIST手写数字数据进行降维可视化

2021-08-28 12:34:33  阅读:251  来源: 互联网

标签:Python 投影 tecdat 降维 成分 随机 PCA 数据 MNIST


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

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

降维是在我们处理包含过多特征数据的大型数据集时使用的,提高计算速度,减少模型大小,并以更好的方式将巨大的数据集可视化。这种方法的目的是保留最重要的数据,同时删除大部分的特征数据。 

在这个教程中,我们将简要地学习如何用Python中的稀疏和高斯随机投影以及PCA方法来减少数据维度。读完本教程后,你将学会如何通过使用这些方法来降低数据集的维度。本教程包括。

  1. 准备数据
  2. 高斯随机投影
  3. 稀疏随机投影
  4. PCA投影
  5. MNIST数据投射

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

准备数据

首先,我们将为本教程生成简单的随机数据。在这里,我们使用具有1000个特征的数据集。为了将维度方法应用于真实数据集,我们还使用Keras API的MNIST手写数字数据库。MNIST是三维数据集,这里我们将把它重塑为二维的。

  1.   print(x.shape) 
  2.    
  3.    

  1.    
  2.   mnist.load_data()
  3.   print(x_train.shape)
  4.    
  5.    

  1.    
  2.    
  3.    reshape(x_train,)
  4.   print(x_mnist.shape)
  5.    

 

高斯随机投影

高斯随机法将原始输入空间投射到一个随机生成的矩阵上降低维度。我们通过设置分量数字来定义该模型。在这里,我们将把特征数据从1000缩减到200。

  1.   grp.fit_transform(x)
  2.    
  3.    
  4.   print(gshape)

根据你的分析和目标数据,你可以设置你的目标成分。

稀疏随机投影

稀疏随机方法使用稀疏随机矩阵投影原始输入空间以减少维度。我们定义模型,设置成分的数量。在这里,我们将把特征数据从1000缩减到200。

  1.   srp_data = srp.fit_transform(x)
  2.    
  3.   print(srp_data.shape) 
  4.    

根据你的分析和目标数据,你可以设置你的目标成分。


 

PCA投影

我们将使用PCA分解,通过设置成分数来定义模型。在这里,我们将把特征数据从1000缩减到200。

  1.   pca.fit_transform(x)
  2.    
  3.    
  4.   print(pca_data.shape) 
  5.    
  6.    

根据你的分析和目标数据,你可以设置你的目标成分。
 

MNIST数据的投影

在使用高斯、稀疏随机和PCA方法学习降维后,现在我们可以将这些方法应用于MNIST数据集。为测试目的,我们将设置2个成分并应用投影。

  1.    
  2.   #对2个成分的稀疏随机投影
  3.   srp.fit_transform(x_mnist)
  4.   df_srp["comp1"] = z[:,0)
  5.   df_srp["comp2"] = z[:,1] 。
  6.    
  7.   # 高斯随机投射在2个成分上
  8.   fit_transform(x_mnist)
  9.    
  10.   # 对2个成分进行PCA
  11.   PCA(n=2)
  12.    
  13.    
我们将通过可视化的方式在图中检查关于预测的结果。
  1.    
  2.   sns.scatterplot(x="comp-1", y="comp-2")


该图显示了MNIST数据的变化维度。颜色定义了目标数字和它们的特征数据在图中的位置。

在本教程中,我们已经简单了解了如何用稀疏和高斯随机投影方法以及Python中的PCA方法来减少数据维度。 


最受欢迎的见解

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)

标签:Python,投影,tecdat,降维,成分,随机,PCA,数据,MNIST
来源: https://www.cnblogs.com/tecdat/p/15196523.html

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

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

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

ICode9版权所有