En este tutorial, aprenderemos a implementar un sistema de recomendación básico utilizando la biblioteca Surprise en Python. Exploraremos cómo cargar datos, construir un modelo, y realizar recomendaciones personalizadas.
1. Instalación de Surprise
Antes de comenzar, asegúrate de tener Surprise instalado en tu entorno de desarrollo:
pip install scikit-surprise
2. Carga de Datos
Comenzaremos cargando un conjunto de datos para nuestro sistema de recomendación:
from surprise import Dataset from surprise import Reader # Definir el lector reader = Reader(line_format='user item rating timestamp', sep=',') # Cargar datos desde un archivo CSV datos = Dataset.load_from_file('datos_recomendacion.csv', reader=reader)
3. Construcción del Modelo
A continuación, construiremos un modelo de recomendación utilizando el algoritmo SVD (Descomposición en Valores Singulares):
from surprise import SVD from surprise.model_selection import train_test_split from surprise import accuracy # Dividir los datos en conjuntos de entrenamiento y prueba trainset, testset = train_test_split(datos, test_size=0.2) # Crear el modelo SVD modelo = SVD() # Entrenar el modelo modelo.fit(trainset) # Realizar predicciones en el conjunto de prueba predicciones = modelo.test(testset) # Calcular el error RMSE (Root Mean Squared Error) rmse = accuracy.rmse(predicciones) print(f"Error RMSE: {rmse}")
4. Realización de Recomendaciones
Finalmente, realizaremos recomendaciones personalizadas para un usuario específico:
# Obtener ítems no evaluados por un usuario usuario_id = '1' items_no_evaluados = trainset.build_anti_testset().get(user_id=usuario_id) # Realizar recomendaciones recomendaciones = modelo.test(items_no_evaluados) # Mostrar las primeras 5 recomendaciones for recomendacion in recomendaciones[:5]: print(f"Ítem: {recomendacion.iid}, Predicción: {recomendacion.est}")
En este tutorial, exploramos la implementación de un sistema de recomendación básico con Surprise en Python. Aprendiste a cargar datos, construir un modelo utilizando SVD, evaluar el rendimiento y realizar recomendaciones personalizadas.
Surprise simplifica la creación de sistemas de recomendación, y este tutorial te proporciona los pasos esenciales para comenzar a desarrollar tus propios sistemas de recomendación en Python.