¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Machine Learning
  3. Evaluación y despliegue
Extrait - Machine Learning Implementar en Python con Scikit-learn
Extractos del libro
Machine Learning Implementar en Python con Scikit-learn Volver a la página de compra del libro

Evaluación y despliegue

Fase de evaluación

1. Principio general

Si el Data Scientist tiene que evaluar él mismo los resultados de sus modelos durante la fase de modelización, a continuación, debe llevarse a cabo una evaluación empresarial para validar los modelos.

En última instancia, es el cliente, que conoce el negocio, quien podrá decidir si la calidad del modelo responde a sus necesidades.

De hecho, un modelo muy bueno con un 99% de accuracy es potencialmente excelente para la localización de averías, pero claramente insuficiente para detectar peatones en un coche autónomo (que potencialmente podría atropellar al 1% de las personas con las que se cruce).

El objetivo de esta fase de evaluación es valorar si el modelo es suficiente para la aplicación y si todo el proceso es correcto. De la aceptación o no del modelo dependerá la siguiente fase del proyecto.

2. Evaluación empresarial de los resultados

El modelo propuesto y sus resultados deben compararse con las necesidades empresariales expresadas durante la fase de Business Understanding y con los criterios de éxito determinados.

Sin embargo, los resultados puros no bastan. También hay que comprobar que el modelo responda en todas las situaciones reales, mediante un dataset específico o aplicándolo a datos reales de un periodo determinado.

El estudio de los sesgos también es muy importante:...

Fase de despliegue

La fase de desplegiegue (o implemenar) es la última fase de la metodología CRISP-DM. Además, a diferencia de las otras fases, solo tiene lugar cuando el proyecto se considera listo para la producción.

Sin embargo, no se trata de una fase técnica. De hecho, la fase de despliegue sirve para planificar el proyecto posterior aportando especificaciones. Consta de cuatro etapas:

  • Planificar el despliegue.

  • Planificar la supervisión y el mantenimiento.

  • Elaborar el informe final.

  • Finalizar la documentación.

1. Planificar el despliegue

El despliegue (implantación o puesta en marcha) es un proyecto en sí mismo. Implica planificar las principales etapas y, sobre todo, decidir qué modelo desplegar.

De hecho, rara vez se pone en producción el modelo obtenido en la fase de modelización. Por lo general, el algoritmo y los parámetros elegidos se utilizan para entrenar una decena de modelos (con diferentes semillas aleatorias) y luego se evalúa cada uno de ellos.

Por lo tanto, es necesario disponer de una documentación completa del procedimiento utilizado para crear estos modelos.

Además del modelo, es necesario planificar cómo se utilizará; por ejemplo, qué datos se le enviarán y en qué formato, cuál será el límite de decisión, el formato de los resultados y cómo estos se utilizarán...

Despliegue y MLOps

1. Comentarios sobre DevOps

En un proyecto informático típico suele haber dos tipos de profesiones:

  • «Devs» (desarrolladores): son las personas que implementan un sistema creando código.

  • «Ops» (Operaciones informáticas): son las personas que ponen el código de los desarrolladores en producción y luego lo mantienen.

Hasta la década de 2000, estas profesiones estaban muy diferenciadas y había muchas fricciones entre ellas, sobre todo cuando surgían problemas durante la implantación.

La integración continua (CI, Continuous Integration) es el método utilizado para integrar nuevas partes de código en el código general...

La entrega continua (CD; Continuous Delivery) es el enfoque utilizado para poner el código rápidamente en producción, utilizando canalizaciones automatizadas (incluyendo el empaquetado del código, la instalación de dependencias, las pruebas y el cambio de un entorno a otro)...

Aunque los enfoques de CI/CD en su conjunto se remontan a varias décadas atrás, su mejora ha permitido la aparición de las DevOps modernas: las profesiones de Dev y Ops se han acercado, hasta el punto en que ahora forman parte de los mismos equipos.

Las herramientas CI/CD y la filosofía DevOps permiten ahora a los equipos crear código, luego prepararlo para la producción (incluidas las pruebas en varios entornos) y, por último, el despliegue.

Esto significa que cada cambio o corrección puede estar a disposición de los usuarios en cuestión de minutos, y muchas empresas tienen ahora ciclos de comercialización muy cortos.

2. Aparición de MLOps

En los proyectos de Machine Learning, se utiliza la metodología CRISP-DM para crear un modelo. Después, gracias a las lecciones aprendidas del método, el modelo elegido puede entrenarse y ponerse en producción.

Sin embargo, este proceso de despliegue no es el final del proyecto. Durante la vida del modelo, sin duda habrá que hacer ajustes o volver a entrenarlo.

La mayoría de los pasos de la metodología CRISP-DM se llevan a cabo utilizando notebooks Jupyter. Si bien estos son muy prácticos para un enfoque empírico e iterativo, no son adecuados para el despliegue. Peor aún, a menudo es difícil volver...