Skip to content

Sistema de recomendación de libros personalizada y automatizada basado en el análisis del comportamiento de los usuarios. Con el objetivo de mejorar la experiencia de usuario y el impacto del negocio.

Notifications You must be signed in to change notification settings

pabloing93/book-recommendations-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Motor de recomendaciones 📚

Note

Éste proyecto es un challenge de FreeCodeCamp para modelos de Machine Leargnin de Clustering.
Desarrollado con mucho amor 💌 como aporte a la comunidad de científico de datos ya que
a la fecha se encuentra muy poca documentación sobre éste challenge en particular.

Caution

Utilizar con fines educativos :octocat:

Stack de tecnologías

Python Pandas NumPy Matplotlib

scikit-learn

Analizamos los datos

Analizamos los datos importados y realizamos una búsqueda de anomalías como datos faltantes, errores tipográficos, etc.

Analizamos el dataframe de libros

image

  • Conclusión: No encontramos duplicados, ni nulos y tampoco anomalías en cuanto a la estructura y tipo de datos del dataframe

Analizamos el dataframe de ratings

image

image

image

  • Conclusión: No encontramos valores anómalos, negativos, en la columna user.

image

  • Conclusión: No encontramos valores anómalos, negativos ni mayores a 10, en la columnas de rating.

EDA: Análisis exploratorio de los datos

image

Warning

Encontramos que hay información de libros que tienen muy pocas recomendaciones al igual que usuarios que recomendaron pocos libros. Vamos a limpiar estos datos para obtener información más significativa.

Eliminamos todos los libros que tengan menos de 100 calificaciones

image

image

image

  • Conclusión: observamos que de 27.000 libros sólo 727 de ellos tenían suficientes calificaciones

Eliminamos todos los usuarios que hayan hecho menos de 200 calificaciones

image

image

image

Después de la limpieza apreciamos que de 1.150.000 usuarios aproximadamente sólo 530.000 usuarios habían brindado 200 o más calificaciones

Implementamos nuestro modelo de Machine Learning

Armamos una matriz de pivot

Esta matriz de pivot representa por cada libro (filas) qué usuarios (columnas) dieron una puntuación y de cuánto fué la puntuación (valor)

image

Entrenamos nuestro modelo de Machine Learning

El modelo entrenado es KNN

Creamos la función de recomendación

> def test_book_recommendation( book_name: string ) -> list

Ejecutamos la fucnión de recomendación

image

Testeamos nuestro modelo

FreeCodeCamp nos brinda una función de test en donde para un libro específico buscado tenemos que obtener el siguiente resultado:

image

image

Ejecutamos la función de TEST

> test_book_recommendation()

Resultado

> ["Where the Heart Is (Oprah's Book Club (Paperback))", [["I'll Be Seeing You", 0.8], ['The Weight of Water', 0.77], ['The Surgeon', 0.77], ['I Know This Much Is True', 0.77], ['The Lovely Bones: A Novel', 0.72]]]
> You passed the challenge! 🎉🎉🎉🎉🎉

Link al código

About

Sistema de recomendación de libros personalizada y automatizada basado en el análisis del comportamiento de los usuarios. Con el objetivo de mejorar la experiencia de usuario y el impacto del negocio.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages