- Implementación de un Sistema de Recomendación de Libros: Utilizando la biblioteca scikit-surprise, se creó un sistema que predice las calificaciones de libros no calificados por un usuario y recomienda los de mayor puntuación predicha.
- Preparación y Limpieza de Datos: Se cargaron y preprocesaron conjuntos de datos de libros, usuarios y calificaciones. Se realizó la limpieza de datos, el manejo de valores nulos y la normalización.
- Análisis Exploratorio de Datos (EDA): Se analizaron las características de los conjuntos de datos, incluyendo estadísticas descriptivas, frecuencias de publicadores, análisis de años de publicación y autores más prolíficos.
- Modelado y Entrenamiento de Red Neuronal: Se construyó un modelo de aprendizaje profundo con Keras, utilizando embeddings y redes neuronales para predecir calificaciones de libros.
- Evaluación del Modelo: El modelo fue entrenado y evaluado con los conjuntos de datos de entrenamiento y prueba, con un análisis de la distribución de errores de predicción.
- Manejo de Valores Atípicos y Nulos: Hubo desafíos en la limpieza de datos, especialmente en el manejo de valores nulos y atípicos, como años de publicación inválidos.
- Verificación de ISBN: Se encontraron desafíos al validar números ISBN, con una cantidad significativa de ISBNs no válidos.
- Implementación del Modelo: Se enfrentaron retos en la implementación del modelo de redes neuronales, particularmente en la estructuración de las capas y la elección de parámetros.
- Resultados de Recomendaciones: Los resultados de las recomendaciones para un usuario específico no fueron variados, lo que indica la necesidad de más ajustes en el modelo o la función de recomendación.
Se utilizó un modelo de redes neuronales con embeddings para usuarios y libros. La elección de este algoritmo se basó en su eficacia para capturar las interacciones complejas y no lineales entre usuarios y libros, lo cual es crucial en sistemas de recomendación. Los embeddings proporcionan una forma eficiente de representar características latentes de usuarios y libros, lo que permite al modelo aprender patrones subyacentes en las preferencias de los usuarios y las características de los libros.
- Optimización del Modelo: El modelo actual necesita más ajustes para mejorar la diversidad y precisión de las recomendaciones.
- Experimentación con Diferentes Algoritmos: Podría ser beneficioso experimentar con otros algoritmos de sistemas de recomendación, como factorización de matrices o modelos basados en contenido.
- Mejorar la Validación de ISBN: Implementar un método más robusto para manejar ISBNs no válidos y mejorar la calidad de los datos.
- Evaluación Continua: Continuar evaluando el modelo con diferentes métricas para garantizar su efectividad y precisión.
Este proyecto ha sido una oportunidad valiosa para aprender sobre sistemas de recomendación, procesamiento y análisis de datos, y modelado con redes neuronales. A pesar de los desafíos, los resultados son prometedores y sientan las bases para futuras mejoras y experimentación.
- Book Recommendation System Implementation: Utilizing the scikit-surprise library, a system was developed to predict ratings for books not yet rated by a user, recommending those with the highest predicted scores.
- Data Preparation and Cleaning: Datasets of books, users, and ratings were loaded and preprocessed. This included data cleaning, handling null values, and normalization.
- Exploratory Data Analysis (EDA): The data sets' features were analyzed, including descriptive statistics, publisher frequencies, publication year analysis, and prolific authors.
- Neural Network Modeling and Training: A deep learning model was built with Keras, using embeddings and neural networks to predict book ratings.
- Model Evaluation: The model was trained and evaluated using training and test datasets, with an analysis of the prediction error distribution.
- Handling Outliers and Null Values: Challenges in data cleaning, especially in managing null and atypical values, such as invalid publication years.
- ISBN Verification: Challenges were encountered in validating ISBN numbers, with a significant amount of invalid ISBNs.
- Model Implementation: Challenges were faced in implementing the neural network model, particularly in structuring layers and choosing parameters.
- Recommendation Results: The recommendations for a specific user were not varied, indicating the need for further adjustments in the model or recommendation function.
A neural network model with embeddings for users and books was used. This algorithm was chosen for its effectiveness in capturing the complex and nonlinear interactions between users and books, which is crucial in recommendation systems. Embeddings provide an efficient way to represent latent features of users and books, allowing the model to learn underlying patterns in user preferences and book characteristics.
- Model Optimization: The current model needs further adjustments to improve the diversity and accuracy of recommendations.
- Experimentation with Different Algorithms: It could be beneficial to experiment with other recommendation system algorithms, such as matrix factorization or content-based models.
- Improving ISBN Validation: Implementing a more robust method to handle invalid ISBNs and improve data quality.
- Continuous Evaluation: Continuing to evaluate the model with different metrics to ensure its effectiveness and accuracy.
This project has been a valuable opportunity to learn about recommendation systems, data processing and analysis, and neural network modeling. Despite the challenges, the results are promising and lay the groundwork for future improvements and experimentation.