Justificación y contexto de tu proyecto

1

Cómo crear tu proyecto de ciencia de datos

2

Crea proyectos para afianzar tus conocimientos en ciencia de datos

3

Cada cuánto hacer un proyecto de datos

4

Dónde sacar ideas para proyectos de ciencia de datos

5

Generar y comunicar un proyecto de datos

6

Casos: personas que ya pasaron por este camino

Quiz: Justificación y contexto de tu proyecto

Ejecutando un proyecto de ciencia de datos

7

Plantea una pregunta interesante

8

Obteniendo los datos para tu proyecto

9

Ejecutando: obteniendo los datos

10

Limpieza de la información

11

Ejecutando: limpia tu conjunto de datos

12

Explora y encuentra patrones en la información

13

Ejecutando: exploración de la información

14

Ejecutando: completando la exploración de la información

15

Enriquecimiento de los datos para análisis profundo

16

Ejecutando: enriquecimiento de los datos

17

Aplicando un modelo de machine learning

18

Ejecutando: aplicando un modelo supervisado de machine learning

19

Ejecutando: aplicando un modelo no supervisado de machine learning

20

Ejecutando: aplicando un modelo no supervisado de anomalías

21

Prepara tu trabajo para comunicarlo con el mundo

22

Ejecutando: prepara tu trabajo para comunicarlo con el mundo

Quiz: Ejecutando un proyecto de ciencia de datos

Comunicando los resultados

23

Por qué es importante comunicar los resultados

24

Escribiendo tu primer blogpost técnico

25

Compartiendo en comunidad con tu primera presentación

26

Cómo mejorar tu repositorio en GitHub para ciencia de datos

27

Haciendo deploy de tus modelos

28

Construyendo una aplicación full stack que consuma tu proyecto

Quiz: Comunicando los resultados

Últimos pasos

29

Elige terminar: es mejor terminado que perfecto

30

Recuerda los objetivos del proyecto: practicar y carta de presentación

31

Comparte tu proyecto

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Haciendo deploy de tus modelos

27/31
Recursos

¿Por qué implementar APIs Restful?

El uso de APIs Restful se ha convertido en un estándar para el desarrollo de aplicaciones modernas. Estas APIs permiten conectar y estructurar la información de forma eficiente, facilitando el consumo de datos por parte de otras aplicaciones. Implementar y hacer "deploy" de APIs no solo potencia la reutilización del trabajo ya realizado, sino que también permite que otros desarrolladores construyan sobre tus proyectos, acelerando el progreso y fomentando la innovación. Considera que, al compartir tus APIs, estás colaborando en una comunidad más amplia, permitiendo que otros utilicen y mejoren tus herramientas.

¿Cómo optimizar el "deploy" de tus APIs?

Llevar a cabo el "deploy" de una API puede ser un proceso complejo, pero hay recomendaciones prácticas que pueden facilitar su ejecución:

  1. Usa créditos gratuitos: Muchas plataformas y servicios en la nube ofrecen capas gratuitas o créditos iniciales para nuevos usuarios. Estos pueden ser muy valiosos para probar y lanzar tu API sin incurrir en costos significativos.

  2. Garantiza la seguridad: Es fundamental establecer límites de peticiones y utilizar contraseñas o autenticación para evitar el mal uso de tu API por parte de agentes externos.

  3. Documentación exhaustiva: Documenta tu API detalladamente, como si estuvieras siendo remunerado por ello. La documentación debe ser clara y completa, de modo que cualquiera pueda entender y consumir los servicios sin necesidad de asistencia directa.

  4. Abre las puertas al feedback: Permitir y fomentar la retroalimentación de otros desarrolladores es crucial. Esta interacción puede impulsar mejoras y optimizar la forma en que otros consumen la información o el servicio proporcionado por tu API.

¿Qué herramientas utilizar para construir APIs en Python?

Existen herramientas eficientes para la creación de APIs en Python, siendo Flask y FastAPI dos de las más populares:

  • Flask: Un microframework ligero que ofrece simplicidad y flexibilidad, ideal para desarrollar proyectos de pequeña a mediana escala.
  • FastAPI: Conocido por su rapidez y facilidad de uso, FastAPI es perfecto para construir APIs más robustas y eficientes. Permite manejar solicitudes asíncronas, lo que mejora el rendimiento.

Ambas herramientas proporcionan la funcionalidad básica necesaria para crear APIs, pero cada una tiene sus particularidades que pueden hacerla más apropiada para diferentes tipos de proyectos.

¿Cuáles son los beneficios de compartir tus APIs?

Compartir tus APIs con una comunidad más amplia tiene múltiples beneficios:

  • Colaboración y mejora continua: Al igual que en el caso del creador que permitió el uso de su API para encontrar geolocalización en México, recibirás apoyo y mejoras por parte de expertos que pueden inspirarse en tu trabajo.

  • Incremento en la utilidad: Al abrir el uso de tu API a diferentes audiencias, estás permitiendo que las funcionalidades desarrolladas sean aprovechadas en contextos y aplicaciones diversos, quizás en formas que no habías previsto.

  • Construcción sobre tus desarrollos: Actuando como base para que otros construyan aplicaciones más complejas, trabajarás sobre los hombros de gigantes y serás, a su vez, el gigante sobre el que otros podrán construir.

¿Dónde continuar aprendiendo sobre APIs?

Para aquellos interesados en profundizar en el desarrollo de APIs y convertirse en expertos en herramientas como Flask y FastAPI, se recomiendan los cursos especializados disponibles en la escuela de datos de Platzi. Estudiar estos cursos proporcionará un entendimiento más profundo, desde los fundamentos hasta técnicas avanzadas, esenciales para un desarrollador especializado en el manejo de APIs.

Aportes 4

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

hace falta un curso de full stack para consumir tu proyecto o tu modelo desde el front para acceder a el hasta el back o quiza una ruta tipo Machine Learning Full Stack

Otra gran clase de este curso que se ha convertido en uno de los más importantes que he visto hasta ahora 🥇🦾🚀🔥

El despliegue de un modelo de machine learning es una etapa crucial del ciclo de vida de los modelos, ya que implica poner en producción el modelo para que pueda ser utilizado por aplicaciones o usuarios en tiempo real. Aquí tienes una guía general sobre cómo hacerlo: \### 1. \*\*Preparación del modelo para el despliegue\*\* \- \*\*Entrenamiento y validación\*\*: Asegúrate de que tu modelo ha sido entrenado y validado adecuadamente. \- \*\*Serialización\*\*: Usa bibliotecas como `pickle` o `joblib` para serializar el modelo entrenado. Esto te permite guardarlo en un archivo y luego cargarlo para hacer predicciones en producción. ```python import joblib joblib.dump(model, 'modelo.pkl') ``` \- \*\*Requisitos\*\*: Asegúrate de tener un archivo `requirements.txt` con las dependencias necesarias para tu modelo. \### 2. \*\*Elección del entorno para el despliegue\*\* \- \*\*API REST\*\*: Una de las formas más comunes de desplegar un modelo es a través de una API. Puedes usar frameworks como Flask o FastAPI para crear un endpoint donde puedas enviar datos y recibir predicciones. \- \*\*Docker\*\*: Empaqueta tu aplicación y modelo en un contenedor Docker para asegurar la consistencia entre el entorno de desarrollo y producción. \- \*\*Servidores o plataformas de despliegue\*\*: \- \*\*Heroku\*\*: Ideal para proyectos pequeños y medianos. \- \*\*AWS SageMaker\*\*: Una plataforma completa para el entrenamiento y despliegue de modelos. \- \*\*Google Cloud AI Platform\*\*: Permite entrenar y desplegar modelos en la nube. \- \*\*Azure Machine Learning\*\*: También es una solución integral para entrenar y desplegar modelos. \### 3. \*\*Creación de una API con Flask\*\* Aquí te dejo un ejemplo básico de cómo hacer el despliegue de un modelo con Flask: ```python from flask import Flask, request, jsonify import joblib import pandas as pd app = Flask(\_\_name\_\_) \# Carga del modelo previamente entrenado modelo = joblib.load('modelo.pkl') @app.route('/predict', methods=\['POST']) def predict(): datos = request.json df = pd.DataFrame(datos) prediccion = modelo.predict(df) return jsonify({'prediccion': prediccion.tolist()}) if \_\_name\_\_ == '\_\_main\_\_': app.run(debug=True) ``` Con esta API, podrías enviar datos a través de una solicitud POST y obtener una predicción. \### 4. \*\*Dockerización del modelo\*\* Para asegurar que tu modelo funcione de la misma manera en cualquier entorno, puedes usar Docker: \- \*\*Dockerfile\*\*: ```dockerfile FROM python:3.8 WORKDIR /app COPY . /app RUN pip install -r requirements.txt CMD \["python", "app.py"] ``` \- Construcción y ejecución: ```bash docker build -t modelo\_api . docker run -p 5000:5000 modelo\_api ``` \### 5. \*\*Monitoreo y Mantenimiento\*\* \- \*\*Monitoreo del rendimiento\*\*: Una vez en producción, debes monitorear la precisión del modelo y su uso de recursos. \- \*\*Actualización del modelo\*\*: Es posible que debas actualizar el modelo con nuevos datos, por lo que debes tener un proceso para volver a entrenar y desplegar modelos actualizados. \### 6. \*\*Despliegue continuo (CI/CD)\*\* \- Integra pipelines de CI/CD para automatizar el proceso de pruebas, entrenamiento y despliegue. Herramientas como GitHub Actions, Jenkins o GitLab CI/CD te pueden ayudar a mantener tus modelos actualizados en producción. Implementar un buen sistema de despliegue es esencial para aprovechar el potencial de tu modelo en entornos de producción y garantizar su rendimiento a lo largo del tiempo.

A reforzar flask y fastapi