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

最近我们被客户要求撰写关于主成分分析PCA的研究报告,包括一些图形和统计输出。

 主成分分析PCA降维方法和R语言分析葡萄酒可视化实例

主成分分析PCA降维方法和R语言分析葡萄酒可视化实例

,时长04:30

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

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

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

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

准备数据

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

print(x.shape) 

 
 


mnist.load_data()
print(x_train.shape)

 



 reshape(x_train,)
print(x_mnist.shape)

 

高斯随机投影

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

grp.fit_transform(x)

 
print(gshape)
 

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

稀疏随机投影

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

srp_data = srp.fit_transform(x)
 
print(srp_data.shape) 

 

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


 

PCA投影

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

 pca.fit_transform(x)

 
print(pca_data.shape) 

 
 

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

MNIST数据的投影

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


#对2个成分的稀疏随机投影
srp.fit_transform(x_mnist)
df_srp["comp1"] = z[:,0)
df_srp["comp2"] = z[:,1] 。

# 高斯随机投射在2个成分上
fit_transform(x_mnist)

# 对2个成分进行PCA
PCA(n=2)


我们将通过可视化的方式在图中检查关于预测的结果。

sns.scatterplot(x="comp-1", y="comp-2")

 

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

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


  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值