Tabla de contenido
Este proyecto forma parte de la etapa Labs del curso de Data Science de la Academia Soy Henry. En esta ocasión brinda fuentes de información asociadas a las plataformas de streaming, tales como:
- Amazon Prime Video
- Disney Plus
- Hulu
- Netflix
Y 8 datasets de ratings que contiene puntuaciones que usuarios otorgaron a ciertas peliculas.
El proyecto consiste en una ingesta de datos, para aplicar transformaciones en los datasets que permitan realizar consultas a través de una API. Los archivos originales están disponibles en este repositorio: Datasets
La propuesta de trabajo se llevará a cabo en las siguientes etapas:
- Análisis de datos de exploración (EDA) . Link: (https://github.com/RocioAldanaMendez/FastAPI/blob/main/ETL-EDA/EDA_and_ETL_final.ipynb)
- Extraer-Transformar y Cargar con Python. Link: (https://github.com/RocioAldanaMendez/FastAPI/blob/main/ETL-EDA/modelo2.ipynb)
- Generación/Creación de una API con FastAPI Link: (https://github.com/RocioAldanaMendez/FastAPI/blob/main/main.py)
- Ejecutar la API en un host local y ejecutar consultas, visualizando con Uvicorn.
- Desarrollo de Modelo con Machine Learning. (https://github.com/RocioAldanaMendez/FastAPI/blob/main/archivo.modelo_recomendacion.gz )
- Ajuste de parámetros del modelo
- Realización de un deployment en Delta Space para las 4 consultas generadas. Link: (https://deta.space/discovery/r/cdbdpvvwlphtxscn)
- Realizacion de un deployment en Hugging Face Space utilizando Gradio. Link: (https://huggingface.co/spaces/RoTesla/NISTELX)
Como paso inicial, los datos se cargarán utilizando la biblioteca pandas. En esta instancia, se realizará un análisis exploratorio de los datos y se realizarán las transformaciones necesarias para limpiar los datos. Para ver con más detalle el trabajo realizado con las ETD y ETL puede recurrir a la carpeta que contiene esos dos archivos. A continuación se adjunta una hoja de ruta que establecí para el desarrollo:
-
Funcionalidad 1
: Consultar película con mayor duración con filtros opcionales de AÑO, PLATAFORMA Y TIPO DE DURACIÓN.La consulta debe generarse con el siguiente formato: {year}/{platform}/{duration_type}: 200/netflix/min
-
Funcionalidad 2
: Consultar cantidad de películas por plataforma con un puntaje mayor a XX en determinado añoFormato: {platform}/{scored}/{year}: netflix/(numeros del 0 al 5)/2000
-
Funcionalidad 3
: Consultar cantidad de películas por plataforma con filtro de PLATAFORMALa consulta debe generarse con el siguiente formato: {platform}: netflix
-
Funcionalidad 4
: Consultar actor que más se repite según plataforma y año.La consulta debe generarse con el siguiente formato: {platform}/{year}/: netflix/2000
Donde plataforma puede ser: netflix, hulu, disney, amazon.
Y duration_time puede ser: min o season.
-
Demo
:
Link deploy: https://deta.space/discovery/r/cdbdpvvwlphtxscn
-
Funcionalidad 1
: Consultar recomendación de pelicula ingresando id del usuario y el id de la pelicula.La consulta debe generarse con el siguiente formato: {userId}/{id}: 123/ns123
-
Demo
:
Link deploy: https://huggingface.co/spaces/RoTesla/NISTELX
## 🛠️ Abre y ejecuta el proyecto
- Para correr la api completa es necesario descomprimir el archivo que contiene el modelo, para que la api consuma de ese archivo, y como se subió la carpeta donde se desarrolló la api completa, debe correr.
-Para visualizar la salida final en los Deploys podes ir al link de punto 7 y 8 del scope of work, o ingresar al alrchivo txt que contiene todos los links.
Rocío Méndez |
---|
Gracias por ver este desarrollo, podes seguir los futuros cambios dandole una estrellita en la parte superior derecha del repositorio. Podes Clonarlo, y/o podes hacer un PullRequest ya que todo aporte es bienvenido.