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方法来减少数据维度。


相关文章
|
12天前
|
数据采集 缓存 定位技术
网络延迟对Python爬虫速度的影响分析
网络延迟对Python爬虫速度的影响分析
|
14天前
|
数据采集 存储 JSON
Python爬虫开发中的分析与方案制定
Python爬虫开发中的分析与方案制定
|
21天前
|
数据可视化 开发者 Python
Python GUI开发:Tkinter与PyQt的实战应用与对比分析
【10月更文挑战第26天】本文介绍了Python中两种常用的GUI工具包——Tkinter和PyQt。Tkinter内置于Python标准库,适合初学者快速上手,提供基本的GUI组件和方法。PyQt基于Qt库,功能强大且灵活,适用于创建复杂的GUI应用程序。通过实战示例和对比分析,帮助开发者选择合适的工具包以满足项目需求。
69 7
|
21天前
|
存储 数据处理 Python
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第27天】在科学计算和数据分析领域,Python凭借简洁的语法和强大的库支持广受欢迎。NumPy和SciPy作为Python科学计算的两大基石,提供了高效的数据处理和分析工具。NumPy的核心功能是N维数组对象(ndarray),支持高效的大型数据集操作;SciPy则在此基础上提供了线性代数、信号处理、优化和统计分析等多种科学计算工具。结合使用NumPy和SciPy,可以显著提升数据处理和分析的效率,使Python成为科学计算和数据分析的首选语言。
29 3
|
21天前
|
存储 机器学习/深度学习 算法
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第26天】NumPy和SciPy是Python科学计算领域的两大核心库。NumPy提供高效的多维数组对象和丰富的数学函数,而SciPy则在此基础上提供了更多高级的科学计算功能,如数值积分、优化和统计等。两者结合使Python在科学计算中具有极高的效率和广泛的应用。
39 2
|
26天前
|
数据采集 机器学习/深度学习 搜索推荐
Python自动化:关键词密度分析与搜索引擎优化
Python自动化:关键词密度分析与搜索引擎优化
|
15天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
6月前
|
机器学习/深度学习 存储 数据可视化
数据分享|Python在Scikit-Learn可视化随机森林中的决策树分析房价数据
数据分享|Python在Scikit-Learn可视化随机森林中的决策树分析房价数据
|
6月前
|
传感器 数据可视化 BI
python研究汽车传感器数据统计可视化分析
python研究汽车传感器数据统计可视化分析
|
6月前
|
自然语言处理 数据可视化 数据挖掘
数据代码分享|Python对全球Covid-19疫情失业数据相关性、可视化分析
数据代码分享|Python对全球Covid-19疫情失业数据相关性、可视化分析