Una guía de Orchest para construir canalizaciones de ML

Estás leyendo la publicación: Una guía de Orchest para construir canalizaciones de ML

La creación de canalizaciones es uno de los procedimientos más importantes en cualquier tarea de desarrollo de aplicaciones. Podemos definir una canalización como una disposición de archivos que están interconectados y ejecutarlos en un flujo proporciona el objetivo final de la canalización. Hay una variedad de plataformas que están disponibles para brindar el servicio de construcción o fabricación de tuberías. Orchest es una de ellas y plataformas recientemente desarrolladas que comprenden los requisitos de los usuarios y proporcionan una interfaz de un solo lugar para construir canalizaciones. En este artículo, analizaremos la herramienta Orchest para crear canalizaciones de aprendizaje automático. Los puntos principales que se discutirán en el artículo se enumeran a continuación.

Tabla de contenido

  1. ¿Qué es Orquesta?
  2. Unirse a la orquesta
  3. Tubería de construcción
    1. Paso 1: Recopilación de datos
    2. Paso 2: Preprocesamiento de datos
    3. Paso 3: Definición del modelo
    4. Paso 4: Recopilación de precisión

Empecemos por entender qué es Orchest.

¿Qué es Orquesta?

Orchest es una herramienta que se puede utilizar para crear canalizaciones de aprendizaje automático. Usando esta biblioteca, podemos construir tuberías de una manera visualizada usando la interfaz de usuario provista por Orchest. Una de las mejores cosas de esta herramienta es que no requiere ninguna integración de terceros o DAG. Usar esta herramienta es muy fácil y podemos usar el laboratorio de Júpiter o VSCode con esta herramienta para construir nuestros modelos de aprendizaje automático en la configuración de canalización. Esta herramienta brinda a sus instalaciones varios lenguajes como python, R y Julia.

La compilación de canalizaciones en Orchest contiene los pasos que usamos para compilar el modelo y cada paso contiene un archivo ejecutable y la interfaz de usuario de Orchest los interconecta entre sí mediante los nodos. Esta herramienta crea una representación que nos informa sobre el flujo de datos de un paso a otro. Podemos elegir, soltar y conectar pasos muy fácilmente con esta herramienta y esta característica hace que Orchest sea fácil de usar. La visualización del progreso de la tubería nos ayuda a hacer que el flujo de datos sea preciso y también podemos depurar los códigos si encontramos algún error.

🔥 Recomendado:  Chipotle se asocia con Snapchat para lanzar una experiencia AR inspirada en el bienestar

Para instalar este toolkit en nuestro entorno se requiere tener una versión de Docker Engine mayor o igual a 20.10.7. Para instalar este kit de herramientas en los sistemas operativos macOS y Linux necesitamos clonar e instalar Orchest en el entorno que podemos hacer usando el siguiente código

git clone https://github.com/orchest/orchest.git && cd orchest ./orchest install

Luego de clonar e instalar podemos iniciarlo usando las siguientes líneas de códigos:

./arranque de orquesta

Con las funciones mencionadas anteriormente, Orchest también ofrece otras integraciones, como que podemos crear una aplicación web utilizando streamlit o podemos escribir códigos para solicitar datos de Postgres SQL. En este artículo, nuestro objetivo es hacer una tubería usando Orchest. Para que podamos entender cómo se procesa. Comencemos por implementar una canalización que pueda clasificar los datos del iris.

¿Está buscando un repositorio completo de bibliotecas de Python utilizadas en ciencia de datos? echa un vistazo aquí.

Unirse a la orquesta

Antes de comenzar con la canalización de Orchest, debemos saber cómo podemos iniciar sesión o crear una cuenta con Orchest. Para ello podemos pasar por esta página. Después de crear una cuenta, podemos tener varias opciones con las que se puede construir fácilmente una canalización de datos. Para este artículo, estamos utilizando un espacio libre donde podemos practicar nuestros proyectos. Como espacio libre, obtenemos un volumen de 50 GB con 2 vCPU y una instancia de especificaciones de 8 GiB. Aquí puede obtener toda la canalización. La descripción general de esta canalización tendrá el siguiente aspecto si no cambia nada.

Comencemos con el proceso.

En primer lugar, para crear una canalización, debemos hacer clic en el botón Crear canalización que aparece en la pestaña de canalización después de iniciar nuestra instancia.

Después de crear una tubería y darle un nombre, obtendremos una página negra como se muestra en la imagen a continuación.

Aquí el nuevo botón de paso es para hacer nuestros pasos. Cada paso contendrá un archivo que puede ser de archivos de extensión R, Python, Julia. En mi tubería, he usado el lenguaje python. Echemos un vistazo a cómo hago una canalización para la clasificación del iris.

🔥 Recomendado:  Investigadores de China presentan DeepMatcher: una red basada en transformadores profundos para una coincidencia de características locales sólida y precisa

Tubería de construcción

Paso 1: Recopilación de datos

La siguiente imagen es para el paso que ayudó a la canalización a obtener los datos de sklearn.

En este paso, tenemos un archivo ipynb que se puede abrir en el cuaderno jupyter. En tiempo real también obtendremos un archivo jupyter para escribir códigos al que se puede acceder haciendo clic en el paso. Los siguientes códigos se han utilizado para completar este paso.

import orchest import pandas as pd from sklearn.datasets import load_iris df_data, df_target = load_iris(return_X_y=True) orchest.output((df_data, df_target), name=”data”)

En el código anterior, debemos centrarnos en la primera y la última línea. Hemos importado Orchest que ya está instalado en el entorno de notebooks y Orchest.output() nos ayuda a exportar la salida de un paso actual al siguiente paso y es necesario vincular el siguiente paso usando la flecha que obtenemos en la canalización interfaz.

Paso 2: Preprocesamiento de datos

Este paso consiste en los códigos para preprocesar los datos que obtenemos en el primer paso. La siguiente imagen es del segundo paso.

Debajo de este paso, podemos encontrar los siguientes códigos

importar orchest desde sklearn.model_selection importar train_test_split desde sklearn.pipeline importar Pipeline desde sklearn.preprocessing importar MinMaxScaler data = orchest.get_inputs() X, y = data[“data”]
scaler = MinMaxScaler() X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20) X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) orchest.output((X_train, y_train, X_test, y_test), nombre=”datos_entrenamiento”)

En este paso, hemos utilizado el módulo orchest.get_input() para importar los datos del paso anterior y dividir los datos y nuevamente pasar los datos divididos para el siguiente paso.

Paso 3: Definición del modelo

En este paso, podemos encontrar que hemos combinado tres pasos. Hemos modelado los datos de pasos preprocesados ​​utilizando tres modelos (regresión logística, árbol de decisión, bosque aleatorio). La siguiente imagen es la representación de este paso.

El código que hemos introducido en estos pasos es similar. Acabamos de cambiar el modelo, por lo que a continuación he publicado los códigos de un solo modelo.

🔥 Recomendado:  Cómo usar el hashtag de Instagram correcto para cada publicación

import numpy as np import orchest from sklearn.linear_model import LogisticRegression from sklearn.metrics import mean_squared_error # Recuperar los datos del paso anterior. datos = orquesta.get_inputs() X_tren, y_tren, X_prueba, y_prueba = datos[“training_data”]
model = LogisticRegression() model.fit(X_train, y_train) from sklearn.metrics import precision_score y_pred = model.predict(X_test) test_accracy = precision_score(y_test, y_pred) Orchest.output(test_accracy, name=”logistic-regression-accuracy” )

En los códigos anteriores, podemos ver cómo se recopilan los datos del paso anterior y cómo se impulsan los resultados finales del modelo para el siguiente paso.

Paso 4: Recopilación de precisión

Después de definir y ajustar el modelo, el paso 4 es nuestro paso final que recopilará la precisión de todos los modelos. La imagen de abajo es la imagen de nuestra canalización final.

Los códigos en los pasos finales son los siguientes:

import orchest data = orchest.get_inputs() for name, value in data.items(): if name != “unnamed”: print(f”\n{name:30} {value}”)

Producción:

Aquí podemos ver el resultado final. También podemos verificar esto usando el botón de registro en la interfaz de la canalización.

Aquí también podemos obtener la información si algún componente de las canalizaciones necesita correcciones de errores o tiene errores.

Ultimas palabras

En este artículo, discutimos qué es Orchest y descubrimos que es una manera fácil de construir la canalización de aprendizaje automático con él. También analizamos un ejemplo que se puede seguir para crear canalizaciones de aprendizaje automático. Después de iniciar sesión, puede ver este canal de ejemplo usando este enlace.

Referencias

Tabla de Contenido