python 高维数据_在Python中使用PCA和t-SNE可视化高维数据集

本文介绍了如何使用PCA和t-SNE降维技术来可视化高维数据,以理解数据分布。通过MNIST数据集的示例,展示了这两种方法如何帮助区分不同类型的数字,并解释了它们的工作原理。PCA通过保留数据变化的主要方向来减少维度,而t-SNE则通过匹配输入数据和低维点的相似性分布进行降维。结果表明,t-SNE在可视化高维数据集方面通常提供更清晰的聚类效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击上方关注,All in AI中国

任何与数据相关的挑战的第一步都是从研究数据本身开始的。例如,可以通过查看某些变量的分布或查看变量之间的潜在相关性来研究。

目前的问题是,很多数据集都有大量的变量。换句话说,它们是多维度的,数据沿着这些维度分布。这样的话,可视化地研究数据会变得很有挑战性,大多数时候甚至不可能手工完成。但是,研究数据时,可视化数据是非常重要的。因此,理解如何可视化高维数据集是关键,这可以使用降维技术来实现。这篇文章将重点介绍两种降维技术技术:PCA和t-SNE。

关于这两项技术,后面会详细介绍,现在,让我们先得到一些高维数据。

MNIST数据集

在本文中,我们将使用MNIST数据集。无需手动下载数据集,因为我们可以通过使用Scikit Learn获取数据集。

首先把所有的库都准备好。

348e119e67b0830c4202f395b5004b9f.png

然后开始加载数据

cc94e87993639e02936f6239f505e331.png

把矩阵和向量转换为Pandas数据框,这与R语言中使用的数据框非常相似,使我们更容易进行绘图。

06be92fbbc9937a9cef7f92fe9d3ecdb.png

为了避免在计算中使用全部70000个数据,所以我们将采用数据的随机子集。随机化很重要,因为数据集会按其标签排序,即前7000左右是零)。为了确保随机化,创建数字0-69999的随机排列,以便稍后为计算和数据可视化进行选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值