sklearn.datasets.fetch_olivetti_faces(*, data_home=None, shuffle=False, random_state=0, download_if_missing=True, return_X_y=False)[source]

Load the Olivetti faces data-set from AT&T (classification).

Download it if necessary.



Samples total





real, between 0 and 1

Read more in the User Guide.

data_homeoptional, default: None

Specify another download and cache folder for the datasets. By default all scikit-learn data is stored in ‘~/scikit_learn_data’ subfolders.

shuffleboolean, optional

If True the order of the dataset is shuffled to avoid having images of the same person grouped.

random_stateint, RandomState instance or None, default=0

Determines random number generation for dataset shuffling. Pass an int for reproducible output across multiple function calls. See Glossary.

download_if_missingoptional, True by default

If False, raise a IOError if the data is not locally available instead of trying to download the data from the source site.

return_X_yboolean, default=False.

If True, returns (data, target) instead of a Bunch object. See below for more information about the data and target object.

New in version 0.22.


Dictionary-like object, with the following attributes.

data: ndarray, shape (400, 4096)

Each row corresponds to a ravelled face image of original size 64 x 64 pixels.

imagesndarray, shape (400, 64, 64)

Each row is a face image corresponding to one of the 40 subjects of the dataset.

targetndarray, shape (400,)

Labels associated to each face image. Those labels are ranging from 0-39 and correspond to the Subject IDs.


Description of the modified Olivetti Faces Dataset.

(data, target)tuple if return_X_y=True

New in version 0.22.