加载 Labeled Faces in the Wild (LFW) 人脸数据集 (分类)#

sklearn.datasets.fetch_lfw_people(*, data_home=None, funneled=True, resize=0.5, min_faces_per_person=0, color=False, slice_=(slice(70, 195, None), slice(78, 172, None)), download_if_missing=True, return_X_y=False, n_retries=3, delay=1.0)[source]#

加载 Labeled Faces in the Wild (LFW) 人脸数据集 (分类)。

必要时下载数据集。

5749

样本总数

13233

维度

5828

特征

实数,介于0和255之间

有关此数据集的使用示例,请参见 使用特征脸和SVM的人脸识别示例

用户指南 中了解更多信息。

参数:
data_homestr 或 path-like 对象,默认为None

指定数据集的另一个下载和缓存文件夹。默认情况下,所有 scikit-learn 数据都存储在 ‘~/scikit_learn_data’ 子文件夹中。

funneledbool,默认为True

下载并使用数据集的精简版本。

resizefloat 或 None,默认为0.5

用于调整每个面部图片大小的比例。如果为None,则不进行调整大小。

min_faces_per_personint,默认为None

提取的数据集将只保留至少具有min_faces_per_person张不同照片的人的照片。

colorbool,默认为False

保留3个RGB通道,而不是将它们平均为单个灰度通道。如果 color 为 True,则数据的形状比 color = False 的形状多一个维度。

slice_切片元组,默认为(slice(70, 195), slice(78, 172))

提供自定义的二维切片(高度、宽度)以提取 JPEG 文件的“感兴趣”部分,并避免使用来自背景的统计相关性。

download_if_missingbool,默认为True

如果为 False,则如果数据在本地不可用,则引发 OSError,而不是尝试从源站点下载数据。

return_X_ybool,默认为False

如果为 True,则返回(dataset.data, dataset.target),而不是 Bunch 对象。有关dataset.datadataset.target 对象的更多信息,请参见下文。

0.20 版本中新增。

n_retriesint,默认为3

遇到 HTTP 错误时的重试次数。

1.5 版本中新增。

delayfloat,默认为1.0

两次重试之间的秒数。

1.5 版本中新增。

返回:
datasetBunch

类似字典的对象,具有以下属性。

data形状为 (13233, 2914) 的 numpy 数组

每一行对应于原始大小为 62 x 47 像素的展平人脸图像。更改slice_ 或 resize 参数将更改输出的形状。

images形状为 (13233, 62, 47) 的 numpy 数组

每一行都是对应于数据集中 5749 个人之一的人脸图像。更改slice_ 或 resize 参数将更改输出的形状。

target形状为 (13233,) 的 numpy 数组

与每个人脸图像相关的标签。这些标签范围从 0 到 5748,对应于人员 ID。

target_names形状为 (5749,) 的 numpy 数组

数据集中所有人员的姓名。数组中的位置对应于 target 数组中的人员 ID。

DESCRstr

Labeled Faces in the Wild (LFW) 数据集的描述。

(data, target)如果return_X_y 为 True,则为元组

包含两个 ndarray 的元组。第一个包含形状为 (n_samples, n_features) 的二维数组,每一行表示一个样本,每一列表示特征。第二个形状为 (n_samples,) 的 ndarray 包含目标样本。

0.20 版本中新增。

示例

>>> from sklearn.datasets import fetch_lfw_people
>>> lfw_people = fetch_lfw_people()
>>> lfw_people.data.shape
(13233, 2914)
>>> lfw_people.target.shape
(13233,)
>>> for name in lfw_people.target_names[:5]:
...    print(name)
AJ Cook
AJ Lamas
Aaron Eckhart
Aaron Guiel
Aaron Patterson