- Introducción
- Transformaciones de Datos
- Desarrollo de la API
- Análisis Exploratorio de los Datos
- Sistema de Recomendación
- Deployment
- Requisitos
Este proyecto tiene como objetivo realizar transformaciones en un dataset de películas, desarrollar una API usando el framework FastAPI para disponibilizar los datos, realizar un análisis exploratorio de los datos (EDA) y construir un sistema de recomendación de películas basado en similitud.
Para este MVP, se han realizado las siguientes transformaciones en los datos:
- Desanidamiento de Campos
- Relleno de Valores Nulos
- Eliminación de Valores Nulos en Fechas
- Formato de Fechas
- Cálculo de Retorno de Inversión
- Eliminación de Columnas Innecesarias
Para mayor información sobre las transformaciones referirse al Notebook
Se ha desarrollado una API usando el framework FastAPI con los siguientes endpoints:
- cantidad_filmaciones_mes(Mes): Devuelve la cantidad de películas estrenadas en el mes consultado (en español).
- cantidad_filmaciones_dia(Dia): Devuelve la cantidad de películas estrenadas en el día consultado (en español).
- score_titulo(titulo_de_la_filmacion): Devuelve el título, año de estreno y score de una película.
- votos_titulo(titulo_de_la_filmacion): Devuelve el título, cantidad de votos y promedio de votaciones de una película. Si tiene menos de 2000 valoraciones, devuelve un mensaje indicándolo.
- get_actor(nombre_actor): Devuelve el éxito de un actor medido a través del retorno, cantidad de películas en las que ha participado y promedio de retorno.
- get_director(nombre_director): Devuelve el éxito de un director medido a través del retorno, nombre de cada película con fecha de lanzamiento, retorno individual, costo y ganancia.
Una vez los datos han sido limpiados, se ha realizado un análisis exploratorio para investigar las relaciones entre las variables del dataset, detectar outliers o anomalías y explorar patrones interesantes para la ingesta de estos datos en el modelo de ML para nuestro sistema de recomendación.
Para mayor información sobre el análisis referirse al Notebook
Se ha construido un sistema de recomendación de películas basado en similitud, el cual ha sido deployado como una función adicional de la API:
- recomendacion(titulo_de_la_filmacion): Esta función recomienda películas similares basándose en la similitud de puntuación, devolviendo una lista de 5 películas con mayor puntaje en orden descendente.
El proyecto fue deployado usando el servicio de Render para poder ser consumido desde la web.
El proyecto puede ser encontrado en el siguiente enlace
-
Dataset: Carpeta con los 2 archivos necesarios para poder correr los Notebooks. Una vez descargados añadirlos a la carpeta Datasets junto con los demás.
-
Diccionario: Registro de las columnas disponibles con una breve descripción.
-
Video: Video explicando el proyecto y su funcionalidad con algunos ejemplos.