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

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

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

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

  • 准备数据
  • 高斯随机投影
  • 稀疏随机投影
  • PCA投影
  • 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天前
|
数据采集 数据可视化 数据处理
利用Python和Pandas库实现高效的数据处理与分析
在大数据和人工智能时代,数据处理与分析已成为不可或缺的一环。Python作为一门强大的编程语言,结合Pandas库,为数据科学家和开发者提供了高效、灵活的数据处理工具。本文将介绍Pandas库的基本功能、优势,并通过实际案例展示如何使用Pandas进行数据清洗、转换、聚合等操作,以及如何利用Pandas进行数据可视化,旨在帮助读者深入理解并掌握Pandas在数据处理与分析中的应用。
|
1天前
|
存储 数据可视化 算法
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
|
2天前
|
数据采集 数据可视化 Python
Python分析香港26281套在售二手房数据
Python分析香港26281套在售二手房数据
|
2天前
|
数据可视化 数据挖掘 Python
【Python DataFrame专栏】DataFrame的可视化探索:使用matplotlib和seaborn
【5月更文挑战第20天】本文介绍了使用Python的pandas、matplotlib和seaborn库进行数据可视化的步骤,包括创建示例数据集、绘制折线图、柱状图、散点图、热力图、箱线图、小提琴图和饼图。这些图表有助于直观理解数据分布、关系和趋势,适用于数据分析中的探索性研究。
【Python DataFrame专栏】DataFrame的可视化探索:使用matplotlib和seaborn
|
5天前
|
数据采集 人工智能 数据挖掘
「一行分析」利用12000条招聘数据分析Python学习方向和就业方向
「一行分析」利用12000条招聘数据分析Python学习方向和就业方向
|
5天前
|
JSON JavaScript 数据格式
利用 python 分析基金,合理分析数据让赚钱赢在起跑线!(1)
利用 python 分析基金,合理分析数据让赚钱赢在起跑线!(1)
|
7天前
|
存储 数据挖掘 数据处理
使用Python将数据表中的浮点数据转换为整数:详细教程与案例分析
使用Python将数据表中的浮点数据转换为整数:详细教程与案例分析
9 2
|
7天前
|
存储 数据可视化 数据挖掘
Python在数据分析中的利器:Pandas库全面解析
【2月更文挑战第7天】 众所周知,Python作为一种简洁、易学且功能强大的编程语言,被广泛运用于数据科学和人工智能领域。而Pandas库作为Python中最受欢迎的数据处理库之一,在数据分析中扮演着举足轻重的角色。本文将全面解析Pandas库的基本功能、高级应用以及实际案例,带您深入了解这个在数据分析领域的利器。
78 1
|
6月前
|
数据采集 存储 数据挖掘
【Python】数据分析:pandas
【Python】数据分析:pandas
51 0
|
7天前
|
数据采集 SQL 数据挖掘
Python 的科学计算和数据分析: 什么是 NumPy 和 Pandas?它们各自的作用是什么?
Python 的科学计算和数据分析: 什么是 NumPy 和 Pandas?它们各自的作用是什么?