from sklearn.datasets import fetch_lfw_people#导入数据集,第一次可能等待时间过长,因为要在网上下载数据集
import matplotlib.pyplot as plt
import numpy as np
from sklearn.model_selection import train_test_split
people = fetch_lfw_people(min_faces_per_person=2,resize = 0.7)print(people.target_names)print("图像个数以及像素:{}".format(people.images.shape))#(9164, 87, 65) 9164为图像个数,每张像素为87*65print("这些图像来自于{}个人".format(len(people.target_names)))imga_shape = people.images[0].shapeprint("每张图像的像素:{}".format(imga_shape))fix,axes = plt.subplots(2,5,figsize = (15,8),subplot_kw ={'xticks':(),'yticks':()}) #展示前10张人脸
for target,image , ax in zip(people.target, people.images, axes.ravel()):ax.imshow(image)ax.set_title(people.target_names[target])counts = np.bincount(people.target)
#print(len(counts))#总共有多少个人
'''
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()
'''
print(min(counts))mask = np.zeros(people.target.shape,dtype=np.bool)
for target in np.unique(people.target):mask[np.where(people.target == target)[0][:50]] == 1X_people = people.data[mask]
y_people = people.target[mask] X_people = X_people/225  from sklearn.neighbors import KNeighborsClassifierX_train, X_test, y_train, y_test = train_test_split( X_people, y_people, stratify = y_people, random_state = 0)
#参数stratify: 依据标签y,按原数据y中各类比例,分配给train和test,使得train和test中各类数据的比例与原数据集一样。knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train,y_train)
print("Test set score of knn:{:.2f}".format(knn.score(X_test,y_test)))print("\n")
print("图片来源于名为{}的人!".format(people.target_names))
print("\n")
print("这些图像来自于{}个人".format(len(people.target_names)))
print("\n")
print("图像个数以及像素:{}".format(people.images.shape))#(9164, 87, 65) 9164为图像个数,每张像素为87*65
print("\n")imga_shape = people.images[0].shapeprint("每张图像的像素:{}".format(imga_shape))
print("\n")fix,axes = plt.subplots(2,5,figsize = (15,8),subplot_kw ={'xticks':(),'yticks':()}) #展示前10张人脸
for target,image , ax in zip(people.target, people.images, axes.ravel()):ax.imshow(image)ax.set_title(people.target_names[target])counts = np.bincount(people.target)
print(counts[0:20])
#print(len(counts))#总共有多少个人
print(np.where(counts > 5))
print("我在这里{}".format(people.target_names[5]))
print(len(list(np.where(counts > 5))[0]))lfw_people = fetch_lfw_people(min_faces_per_person=70, resize=0.4)    
from sklearn.datasets import fetch_lfw_people#导入数据集,第一次可能等待时间过长,因为要在网上下载数据集
import matplotlib.pyplot as plt
import numpy as np
from sklearn.model_selection import train_test_splitfrom sklearn.model_selection import train_test_split
from sklearn.model_selection import GridSearchCV
from sklearn.datasets import fetch_lfw_people
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.decomposition import PCA
from sklearn.svm import SVClfw_people = fetch_lfw_people(min_faces_per_person=20, resize=0.7)
print("图像个数以及像素:{}".format(lfw_people.images.shape))#(9164, 87, 65) 9164为图像个数,每张像素为87*65
print("\n")counts = np.bincount(lfw_people.target)
print("每个名字下图像的个数为{}".format(counts)) #每个人图像的个数分别查出来
print("\n")n_samples, h, w = lfw_people.images.shape  X = lfw_people.data           #图像数据
print("图像数据如下:")
print(X)
print("图像数据的形状为{}".format(X.shape))
print("\n")n_features = X.shape[1]
print("图像数据的特征数为{}".format(n_features))
print("\n")
#print(X[0][0:15])第一条数据前15个数y = lfw_people.target
print("y为{}".format(y))     #3023个图像数据分别属于哪些人,人的名字用0到61编了号
#print(y[0:100])
print("图像数据的个数(y的形状)为 {}".format(y.shape)) #图像数据的个数
print("图像数据的个数(y的形状)为 {}".format(len(y)))  #同上,图像数据的个数
print("y的数据类型为{}".format(type(y))) #y的数据类型
print("y的最大值(即总共有(最大值+1)个人)为{}".format(max(y)))
print("\n")target_names = lfw_people.target_names
print(target_names)
print("\n")
print("图像名字类型为{}".format(type(target_names)))
print("\n")
print("图像名字形状为{}".format(target_names.shape))
print("\n")
n_classes = target_names.shape[0]#print("这些图像来自于{}个人".format(len(target_names)))

fetch_lfw_people相关相关推荐

  1. Redis 笔记(02)— keys 键相关命令(查询数据库key数量、判断key是否存在、指定key过期时间、查看key类型、查看key剩余秒数、选择数据库、删除key、删除数据库)

    1. keys 键相关命令 命令 说明 dbsize 返回当前数据路的key数量 exists key 测试指定key是否存在 expire key seconds 为key指定过期时间 type k ...

  2. 国民技术芯片相关产业研发

    国民技术芯片相关产业研发 国民技术股份有限公司--塑造网络社会信息安全DNA,以原始创新技术满足人们安全便捷的网络生活需求.2000年公司成立,是承担国家"909"超大规模集成电路 ...

  3. C++ OP相关注意事项

    C++ OP相关注意事项 Paddle中Op的构建逻辑 1.Paddle中Op的构建逻辑 Paddle中所有的Op都继承自OperatorBase,且所有的Op都是无状态的,每个Op包含的成员变量只有 ...

  4. 2021年大数据HBase(十四):HBase的原理及其相关的工作机制

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的原理及其相关的工作机制 一.HBase的flus ...

  5. 2021年大数据HBase(五):HBase的相关操作JavaAPI方式

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase的相关操作-JavaAPI方式 一.需求说明 ...

  6. 2021年大数据HBase(四):HBase的相关操作-客户端命令式!【建议收藏】

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase的相关操作-客户端命令式 1.进入HBase ...

  7. 2021年大数据Spark(二十五):SparkSQL的RDD、DF、DS相关操作

      目录 RDD.DF.DS相关操作 SparkSQL初体验 SparkSession 应用入口 获取DataFrame/DataSet 使用样例类 指定类型+列名 自定义Schema ​​​​​​​ ...

  8. 【网站汇总】论文相关

    目录 一.文献检索 1.Connected Papers 2.Slager 3.papers with code 4.arXiv 二.文献管理 1.Mendeley 一.文献检索 1.Connecte ...

  9. 论防止爆T的重要性:N相关孪生素数

    N相关孪生素数 Time Limit: 1 Sec  Memory Limit: 128 MB   64bit IO Format: %lld Description 如果A和B都是素数,而且A和B相 ...

  10. Python学习笔记17:标准库之数学相关(math包,random包)

    前面几节看得真心累.如今先来点简单easy理解的内容. 一 math包 math包主要处理数学相关的运算. 常数 math.e   # 自然常数e math.pi  # 圆周率pi 运算函数 math ...

最新文章

  1. LeetCode 451. Sort Characters By Frequency
  2. webpack2.x基础属性讲解(二)
  3. expandableListView 总结
  4. html js 如何判断页面是第一次访问还是重复刷新访问,使用JS判断页面是首次被加载还是刷新...
  5. ObjectFactory 的create()方法什么时候被调用?
  6. 【C009】ArcGIS VBA - 学习
  7. 【当心】看房没戴头盔,损失二十万 。。。
  8. 【从零开始学架构-李运华】02|架构设计的历史背景
  9. Unable to start LiveReload server
  10. 计算机航嘉快捷启动键,win7 u盘启动快捷键是什么
  11. 5款十分小众,却又非常好用的良心软件
  12. Deepin 20.5 安装nvidia驱动
  13. 不管发生什么事,最重要的是拥有乐观积极的心态,困难总会过去的。
  14. stderr/stdout用法
  15. IM方案技术调研报告
  16. 基于高德地图实现的公交线路查询功能
  17. SQL操作全集[自己收藏]|Findnet.com.cn
  18. 如何证明凸函数的局部极小值为全局极小值
  19. 协议系列之TCP/IP协议
  20. java坐标代码_Java实现地理坐标判断

热门文章

  1. MATLAB2017安装步骤
  2. 苹果/微软/特斯拉的产品美学——向丑而生?
  3. 华为路由器OSPF基础配置命令
  4. 手机迅雷打不开html,迅雷打不开了怎么办
  5. 三津谈保险系统建设(一): 现状分析和建设目标规划
  6. 大数据学习入门看什么书?大数据新手怎么入门?
  7. 显示计算机硬盘驱动器更改,Win10专业版识别不了第二个硬盘驱动器的处理方法...
  8. 机器人学导论——操作臂运动学
  9. 计算机矢量图的优点,矢量图与位图的区别,各自的优缺点……
  10. 六大手机软件商店分析报告