Lista de verificación del proyecto de aprendizaje automático

imagen



En esta publicación, preparé una lista de verificación a la que me refiero constantemente mientras trabajo en un proyecto integral de aprendizaje automático.



¿Por qué necesito una lista de verificación?



Como debe lidiar con numerosos elementos de un proyecto (preparación, preguntas, modelos, ajustes, etc.), es fácil perder la noción. Le guiará a través de los siguientes pasos y lo empujará a verificar si cada tarea se completó con éxito o no.



A veces tratamos de encontrar un punto de partida, la lista de verificación lo ayuda a extraer la información correcta (datos) de las fuentes correctas para establecer relaciones y descubrir ideas de correlación.



Se recomienda que cada parte del proyecto pase por el paradigma de la revisión.



Como Atul Gawande dice en su libro "El Manifiesto de la Lista de Verificación",

El alcance y la complejidad de lo que sabemos ha superado nuestra capacidad individual para ofrecer beneficios de forma correcta, segura y confiable.

Déjame guiarte a través de esta lista clara y concisa de acciones que reducirán tu carga de trabajo y mejorarán tus resultados ...

Lista de verificación de proyectos de aprendizaje automático



Aquí hay 8 pasos que debe seguir en casi todos los proyectos. Algunos de los pasos se pueden realizar indistintamente en orden.



1. Defina el problema desde una perspectiva de alto nivel



Esto es para comprender y formular la lógica empresarial del problema. Esto debería decirte:



  • La naturaleza del problema (controlado / no controlado, clasificación / regresión),
  • el tipo de soluciones que puedes desarrollar
  • ¿Qué métricas debe usar para medir el rendimiento?
  • ¿Es el aprendizaje automático el enfoque correcto para resolver este problema?
  • Enfoque manual para resolver el problema.
  • prerrequisitos inherentes para el problema


2. Definir fuentes de datos y obtener datos



En la mayoría de los casos, este paso se puede realizar antes del primer paso si tiene los datos y desea identificar las preguntas (problemas) a su alrededor para hacer un mejor uso de los datos de entrada.



Según la definición de su problema, deberá identificar las fuentes de datos, que pueden ser bases de datos, depósitos de datos, sensores, etc. Para implementar una aplicación en producción, este paso debe automatizarse mediante el desarrollo de tuberías de datos que permitan que los datos entrantes ingresen al sistema.



  • enumere las fuentes y la cantidad de datos que necesita.
  • Compruebe si la ubicación será un problema.
  • verifique si puede usar los datos para sus propósitos o no.
  • obtener los datos y convertirlos a un formato viable.
  • verificar el tipo de datos (texto, categórico, numérico, series de tiempo, imágenes)
  • seleccione una muestra para la prueba final.


3. Exploración de datos inicial



En esta etapa, estudias todas las características que afectan tu resultado / pronóstico / objetivo. Si tiene una gran cantidad de datos, intente este paso para que su análisis sea más manejable.



Pasos:



  • use Notebook Jupyter ya que proporciona una interfaz simple e intuitiva para explorar datos.
  • definir la variable objetivo
  • definir tipos de características (categóricas, numéricas, de texto, etc.)
  • analizar la relación entre características.
  • agregue múltiples visualizaciones de datos para interpretar fácilmente el impacto de cada característica en la variable de destino.
  • Documente los resultados de su investigación.


4. Análisis exploratorio de datos para la preparación de datos.



Es hora de aprovechar las lecciones del paso anterior definiendo funciones para la transformación de datos, limpieza, selección / desarrollo de características y escalado.



  • Funciones de escritura para transformar datos y automatizar el proceso para los próximos paquetes de datos.
  • Escribir funciones para limpiar datos (imputar valores perdidos y manejar valores atípicos)
  • Escriba funciones para seleccionar y diseñar características: elimine características redundantes, formatee transformaciones de objetos y otras transformaciones matemáticas.
  • Escalado de características: estandarización de características.


5. Desarrolle un modelo básico y luego explore otros modelos para seleccionar el mejor



Cree un modelo muy básico que sirva de base para todos los demás modelos complejos de aprendizaje automático. Lista de verificación de pasos:



  • Entrene varios modelos de uso común, como el modelo ingenuo de bayes, el modelo de regresión lineal, SVM, etc., utilizando los parámetros predeterminados.
  • Mida y compare el rendimiento de cada modelo con el modelo base y con todos los demás.
  • Utilice la validación cruzada N-fold para cada modelo y calcule la media y la desviación estándar de las métricas de rendimiento de N-fold.
  • Explore las características que tienen el mayor impacto en el objetivo.
  • Analice los tipos de errores que cometen los modelos al predecir.
  • El diseño funciona de manera diferente.
  • Repita los pasos anteriores varias veces (por prueba y error) para asegurarse de que estamos utilizando las funciones correctas en el formato correcto.
  • Seleccione los mejores modelos según sus métricas de rendimiento.


6. Afina tus modelos de la lista corta y busca métodos de conjunto



Este debería ser uno de los pasos cruciales a medida que se acerque a su decisión final. Los puntos clave deben incluir:



  • Ajuste de hiperparámetros mediante validación cruzada.
  • Use técnicas de autoajuste como la búsqueda aleatoria o la búsqueda de cuadrícula para encontrar la mejor configuración para sus modelos principales.
  • Pruebe el conjunto de métodos como el clasificador de votos, etc.
  • Pruebe los modelos con la mayor cantidad de datos posible.
  • Después de completar el trabajo, use la muestra de prueba que dejamos de lado al principio para verificar si encaja bien o no.


7. Documente su código y comunique su solución



El proceso de comunicación es diverso. Debe tener en cuenta a todas las partes interesadas existentes y potenciales. Por lo tanto, los puntos principales incluyen:



  • Documente su código, así como su enfoque para todo el proyecto.
  • Cree un tablero de instrumentos como voila o una presentación perspicaz con imágenes que se explican por sí mismas.
  • Escriba un blog / informe sobre cómo analizó las características, probó varias transformaciones, etc. Describa su curva de aprendizaje (fallas y métodos que funcionaron)
  • Termine con el resultado principal y el volumen futuro (si corresponde)


8. Implemente su modelo en producción, monitoreando



Si su proyecto requiere pruebas de implementación en datos reales, debe crear una aplicación web o API REST para usar en todas las plataformas (web, Android, iOS). Los puntos clave (variarán según el proyecto) incluyen:



  • Guarde su modelo entrenado final en un archivo h5 o pickle.
  • Sirva su modelo con servicios web, puede usar Flask para desarrollar estos servicios web.
  • Conecte las fuentes de entrada y configure las tuberías ETL.
  • Administre dependencias con pipenv, docker / Kubernetes (según los requisitos de escala)
  • Puede usar AWS, Azure o Google Cloud Platform para implementar su servicio.
  • Realice un monitoreo del rendimiento en datos reales o simplemente para que las personas usen su modelo con sus datos.


Nota. La lista de verificación se puede adaptar según la complejidad de su proyecto.



imagen



Aprenda los detalles de cómo obtener una profesión solicitada desde cero o subir de nivel en habilidades y salario completando los cursos en línea pagos de SkillFactory:






Lee mas






All Articles