操作环境; ubuntu ; anaconda_jupyter notebook; 

本人在  深入浅出python机器学习9.3节,遇到题目中的错误,代码如下

# 导入数据集获取工具
from sklearn.datasets import fetch_lfw_people
# 载入人脸数据集
faces = fetch_lfw_people(min_faces_per_person=20, resize=0.8)
image_shape = faces.images[0].shape
# 将照片打印出来
fig, axes = plt.subplots(3, 4, figsize=(12, 9), subplot_kw={'xticks':(), 'yticks':()})
for target, image, ax in zip(faces.target, faces.images, axes.ravel()):
    ax.imshow(image, cmap=plt.cm.gray)
    
ax.set_title(faces.target_names[target])
# 显示图像
plt.show()

发生错误的原因是:课本中的代码是基于windows环境下的运行的,代码执行时会下载数据集,由于我是在ubuntu 环境下的 ,下载的数据集是 .tgz格式,数据集文件会下载到 scikit_learn_data 文件夹中。

问题在哪呢 看看代码这一句

for target, image, ax in zip(faces.target, faces.images, axes.ravel()):
    ax.imshow(image, cmap=plt.cm.gray)

zip   看到了没,我们看看文件夹scikit_learn_data下的lfw_home文件夹内部的文件,

没有zip 文件,就是这个问题。

解决办法:本着不改变代码的原则   ,我们将文件夹中的  lfw_funneled  文件夹压缩一个zip格式的压缩包   再执行代码  就不会报错了。

 

 

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐