Python用稀疏、高斯随机投影和主成分分析PCA对MNIST手写数字数据进行降维可视化
原文链接:http://tecdat.cn/?p=23599
降维是在我们处理包含过多特征数据的大型数据集时使用的,提高计算速度,减少模型大小,并以更好的方式将巨大的数据集可视化。这种方法的目的是保留最重要的数据,同时删除大部分的特征数据。
在这个教程中,我们将简要地学习如何用Python中的稀疏和高斯随机投影以及PCA方法来减少数据维度。读完本教程后,你将学会如何通过使用这些方法来降低数据集的维度。本教程包括。
- 准备数据
- 高斯随机投影
- 稀疏随机投影
- PCA投影
- MNIST数据投射
准备数据 首先,我们将为本教程生成简单的随机数据。在这里,我们使用具有1000个特征的数据集。为了将维度方法应用于真实数据集,我们还使用Keras API的MNIST手写数字数据库。MNIST是三维数据集,这里我们将把它重塑为二维的。
print(x.shape)
【Python用稀疏、高斯随机投影和主成分分析PCA对MNIST手写数字数据进行降维可视化】
文章图片
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 = https://www.it610.com/article/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.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)
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- JS中的各种宽高度定义及其应用
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- 涉毒患者(新诗)
- 参保人员因患病来不及到指定的医疗机构就医,能否报销医疗费用()
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息