我把所有的过程全写入下面的代码注释中了。
主要流程有:
- 将mnist数据集的64维转化为2维矩阵向量。(利用scikit-learn库中的TSNE库)
- 将转化好的矩阵输出到二维空间中即可。
参考了官方的代码:scikit-learn/t-SNE
得到的结果如下图所示:

图1 选择Mnist数据集前100张图片

图2 用t-SNE可视化Mnist数据集前6种类
大约花了49s的时间,通过可视化发现每个样本降维后相同的类基本可以聚到一起。
代码如下:
# 1.引入数据库,取6种类。
from sklearn.datasets import load_digits
digits = load_digits(n_class=6)
X, y = digits.data, digits.target
n_samples, n_features = X.shape
n_neighbors = 30
# 2.展示100张mnist数据集图片
import matplotlib.pyplot as plt
fig, axs = plt.subplots(nrows=10, ncols=10, figsize=(6, 6))
for idx, ax in enumerate(axs.ravel()):
ax.imshow(X[idx].reshape((8, 8)), cmap=plt.
使用t-SNE可视化MNIST数据集

本文通过Python的scikit-learn库中的t-SNE算法,将MNIST数据集的64维特征降至2维,并进行可视化展示。经过约49秒的计算,结果显示不同类别的样本在二维空间中能较好地聚类在一起。
最低0.47元/天 解锁文章
4939

被折叠的 条评论
为什么被折叠?



