zoukankan      html  css  js  c++  java
  • 拓端tecdat|Python用稀疏、高斯随机投影和主成分分析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)

    ▍关注我们 【大数据部落】第三方数据服务提供商,提供全面的统计分析与数据挖掘咨询服务,为客户定制个性化的数据解决方案与行业报告等。 ▍咨询链接:http://y0.cn/teradat ▍联系邮箱:3025393450@qq.com
  • 相关阅读:
    PCA本质和SVD
    特征工程(转载)
    python入门基础代码
    长尾理论
    金融行业数据分析
    [rancher-net]
    rancher中使用ingress-lbs做负载均衡
    python 高级语言特性
    docker从初识到深入
    关于容器技术的发展以及虚拟化技术的总结
  • 原文地址:https://www.cnblogs.com/tecdat/p/15196523.html
Copyright © 2011-2022 走看看