Skip to content

volpo/movies_list_search

Repository files navigation

Machine Learning Operations (MLOps)

Introducción: Creación de una API donde poder visualizar los datos de las librerias y luego alojarlos en un servidor para que puedan ser consultados desde un entorno web.

Objetivos:

El objetivo de este proyecto es generar un modelo de recomendación de peliculas basado en el ingreso de un titulo de una filmacion.

Desarrollo

A través de la recepción de una base de datos que contenía listas de peliculas para usar como consulta, realicé un proyecto donde se llevaron a cabo una serie de pasos que implicaron la extracción, transformacion y carga de los datos, la configuración de servidores, la instalación del software, la transferencia de datos y la puesta en marcha de la aplicación para que esté en pleno funcionamiento. Esto también incluyó tareas como la configuración de la base de datos, la asignación de recursos, la gestión de permisos y la comprobación de que todo funcione correctamente.

ETL DE LOS ARCHIVOS

Proceso comentado de ETL en los archivos movies.csv y credits.csv: https://github.com/volpo/movies_list_search/tree/main/etl

Se recibieron dos datasets: movies_dataset.csv y credits.csv, los cuales contenían la mayor parte de su informacion anidada en cadenas de texto que contenían diccionarios. También contenian muchos valores faltantes en algunas de sus columnas. se procedió a extraer los diccionarios que estaban anidados y se crearon columnas con esos datos. Para extraer los géneros a los que pertenecían las peliculas se utilizó un sistema similar a one hot encoder.

ANÁLISIS EXPLORATORIO DE LOS DATOS

Análisis exploratorio completo: https://github.com/volpo/movies_list_search/tree/main/EDA_MOVIES

Nube de palabras más recurrentes en los titulos de las peliculas

En este caso vemos que los conectores son los que más aparecen, como 'the', 'of', 'and','to', etc.
Análisis promedio de los votos a los films

El voto promedio de las peliculas es = 6


outliers en 'release_year'

Observamos que hay peliculas que tienen fecha de estreno en 1874, 1878, 1883, 1887, 1888. Obviamente esto es un error porque la primer filmación que se considera es del año 1895, realizada por los hermanos Lumiere.
IDIOMAS ORIGINALES

El idioma inglés es el más común en las peliculas.


Histograma 'Release_Year'

Observamos un aumento de la realizacion de peliculas durante el periodo 1980-2020. Donde el mayor pico de producción ocurrió en el año 2020.



MACHINE LEARNING

Para el desarrollo del modelo de recomendación lo que hice fué tomar los géneros que estaban asignados a la pelicula sugerida y con eso filtrar peliculas que coincidieran en al menos dos generos. A su vez, con la libreria NLTK WordNetLemmatizer, tomé los sustantivos y verbos que coincidian en los titulos para filtrar nuevamente la recomendación de las peliculas. Luego se retornan las 5 peliculas más similares.



Stack Tecnológico

Entorno == Python API == FastAPI Dashboard ==Render

EXTRAS:

ETL:Pandas, Numpy, re

EDA: Ydata-profiling (pandas-profiling package)

ML: librerias para python: NLTK (Natural Language Toolkit)

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Video Demostrativo

Linkedin

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''