《python机器学习基础教程》fetch_lfw_people数据库

zebraaa 2019-02-02 10:20:45
在jupyter notebook中运行,Mac电脑,python语言,源代码如下:

from sklearn.datasets import fetch_lfw_people
people = fetch_lfw_people(min_faces_per_person=20, resize=0.7)
image_shape = people.images[0].shape

fig, axes = plt.subplots(2, 5, figsize=(15, 8),
subplot_kw={'xticks': (), 'yticks': ()})
for target, image, ax in zip(people.target, people.images, axes.ravel()):
ax.imshow(image)
ax.set_title(people.target_names[target])


下一段代码
print("people.images.shape: {}".format(people.images.shape))
print("Number of classes: {}".format(len(people.target_names)))
运行结果为
people.images.shape: (67, 87, 65)
Number of classes: 2
最后一段代码
# count how often each target appears
counts = np.bincount(people.target)
# print counts next to target names:
for i, (count, name) in enumerate(zip(counts, people.target_names)):
print("{0:25} {1:3}".format(name, count), end=' ')
if (i + 1) % 3 == 0:
print()
结果为
Gloria Macapagal Arroyo 44 Tiger Woods 23
可见程序所访问的人脸库只有67张照片,只有两个人。
书上给出的运行结果如以下两张图所示:

访问人脸库所在文件夹,可以看到有200多M,有很多人的照片,如下:

新手一枚,对照着书按部就班地做,对这种意外情况百思不得其解,在此求助各位大大出手相救!感谢!
...全文
1622 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
请问楼主问题解决了吗
斤革铁马 2020-05-22
  • 打赏
  • 举报
回复
你下的人的图片不全,程序中min_faces_per_person=20,每人需要最少20张,因此不足的人被忽略了。
斤革铁马 2020-05-22
  • 打赏
  • 举报
回复 1
下载完整数据包,然后复制到:C:\Users\xxxx\scikit_learn_data\lfw_home\lfw_funneled,再把C:\Users\xxxi\scikit_learn_data\lfw_home\joblib\sklearn\datasets\_lfw\_fetch_lfw_people目录的临时目录删除。重新运行即可。
Iris_virginica 2019-03-17
  • 打赏
  • 举报
回复
楼主,你好,我把people = fetch_lfw_people(min_faces_per_person=20, resize=0.7) 这行代码改为people = fetch_lfw_people()输出结果为:(2719, 62, 47),参考一下

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧