Ejercicio clasificación de caras
Con el siguiente código entrenad a una red neuronal que dada una imagen de una cara nos diga qué persona es:
import numpy as np from sklearn.datasets import fetch_olivetti_faces from sklearn.model_selection import train_test_split from sklearn.preprocessing import LabelBinarizer from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Flatten from tensorflow.keras.utils import to_categorical # Cargar el dataset Olivetti Faces data = fetch_olivetti_faces() X = data.images # Imágenes (número de instancias, 64, 64) y = data.target # Etiquetas de personas (0 a 39) # Preprocesamiento X = X.reshape(X.shape[0], 64, 64, 1) # Redimensionar para añadir el canal de color X = X / 255.0 # Normalización # Codificación one-hot de las etiquetas y = to_categorical(y, num_classes=40) # Dividir el dataset en entrenamiento y prueba X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)