点击上方关注,All in AI中国
任何与数据相关的挑战的第一步都是从研究数据本身开始的。例如,可以通过查看某些变量的分布或查看变量之间的潜在相关性来研究。
目前的问题是,很多数据集都有大量的变量。换句话说,它们是多维度的,数据沿着这些维度分布。这样的话,可视化地研究数据会变得很有挑战性,大多数时候甚至不可能手工完成。但是,研究数据时,可视化数据是非常重要的。因此,理解如何可视化高维数据集是关键,这可以使用降维技术来实现。这篇文章将重点介绍两种降维技术技术:PCA和t-SNE。
关于这两项技术,后面会详细介绍,现在,让我们先得到一些高维数据。
MNIST数据集
在本文中,我们将使用MNIST数据集。无需手动下载数据集,因为我们可以通过使用Scikit Learn获取数据集。
首先把所有的库都准备好。
![348e119e67b0830c4202f395b5004b9f.png](https://i-blog.csdnimg.cn/blog_migrate/2dcfc63d230acd62912bb85b93fd9098.jpeg)
然后开始加载数据
![cc94e87993639e02936f6239f505e331.png](https://i-blog.csdnimg.cn/blog_migrate/6f26e6e910d07096309d5171dd903e81.jpeg)
把矩阵和向量转换为Pandas数据框,这与R语言中使用的数据框非常相似,使我们更容易进行绘图。
![06be92fbbc9937a9cef7f92fe9d3ecdb.png](https://i-blog.csdnimg.cn/blog_migrate/b5c61eae79358cbcc1cba6ba1e4a4ec6.jpeg)
为了避免在计算中使用全部70000个数据,所以我们将采用数据的随机子集。随机化很重要,因为数据集会按其标签排序,即前7000左右是零)。为了确保随机化,创建数字0-69999的随机排列,以便稍后为计算和数据可视化进行选择。
![](https://i-blog.csdnimg.cn/blog_migrate/f2c78eb42e96f38fb69ed49be6627cb5.jpeg)