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.




Deja un Comentario

Tu dirección de correo no sera publicado. Los campos obligatorios están marcados con *

Nombre *
Correo *
Web