gpt4 book ai didi

python - 可视化流形学习 MNIST 数字数据失败

转载 作者:太空宇宙 更新时间:2023-11-03 23:56:42 25 4
gpt4 key购买 nike

我正在使用 MNIST 数字数据做一些练习,但是当我尝试将其可视化时它失败了。该练习来自一本书 BTW。所以我导入数据集

from sklearn.datasets import fetch_openml
mnist = fetch_openml('mnist_784')
mnist.data.shape

然后我只绘制部分数据

fig, ax = plt.subplots(6, 8, subplot_kw=dict(xticks=[], yticks=[]))
for i, axi in enumerate(ax.flat):
axi.imshow(mnist.data[1250 * i].reshape(28, 28), cmap='gray_r')

然后我对 1/30 的数据进行分析

# use only 1/30 of the data: full dataset takes a long time!
data = mnist.data[::30]
target = mnist.target[::30]

model = Isomap(n_components=2)
proj = model.fit_transform(data)
plt.scatter(proj[:, 0], proj[:, 1], c=target.astype(int),
cmap=plt.cm.get_cmap('jet', 10)) # need to convert target into int
plt.colorbar(ticks=range(10))
plt.clim(-0.5, 9.5);

我只对数据集中的 1 感兴趣,我想查看这些,这是我得到的错误。这是我运行的

from sklearn.manifold import Isomap

# Choose 1/4 of the "1" digits to project
data = mnist.data[mnist.target == 1][::4]

fig, ax = plt.subplots(figsize=(10, 10))
model = Isomap(n_neighbors=5, n_components=2, eigen_solver='dense')
plot_components(data, model, images=data.reshape((-1, 28, 28)),
ax=ax, thumb_frac=0.05, cmap='gray_r')

这导致了

ValueError: Found array with 0 sample(s) (shape=(0, 784)) while a minimum of 1 is required.

我不明白为什么数组是空的?

最佳答案

mnist 数据的目标值是字符串而不是整数。

只需更改这一行:

data = mnist.data[mnist.target == 1][::4]

到:

data = mnist.data[mnist.target == '1'][::4]

关于python - 可视化流形学习 MNIST 数字数据失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57429887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com