Explorando AutoML: Principales herramientas disponibles [Lo que necesita saber]

Publicado: 2020-12-07

El ciclo de vida del aprendizaje automático es un conjunto de procesos que incluyen la recopilación de datos, la limpieza de datos, la ingeniería de características, la selección de características, la creación de modelos, el ajuste de hiperparámetros, la validación y la implementación de modelos.

Si bien la recopilación de datos puede tomar muchas formas, como encuestas manuales, ingreso de datos, web scraping o los datos generados durante un experimento, la limpieza de datos es donde los datos se transforman en un formulario estándar que se puede usar durante otras etapas del ciclo de vida. .

El reciente aumento del aprendizaje automático también ha dado la bienvenida a muchas empresas a adoptar una solución basada en IA para sus productos principales y, por lo tanto, ha llegado al mercado un nuevo capítulo de AutoML. Puede ser una gran herramienta para configurar rápidamente soluciones basadas en IA, pero todavía hay algunos factores preocupantes que deben abordarse.

Tabla de contenido

¿Qué es AutoML?

Es ese conjunto de herramientas que automatizan algunas partes del aprendizaje automático, que en sí mismo es un proceso automatizado de generación de predicciones y clasificaciones que conducen a resultados procesables. Aunque solo puede automatizar la ingeniería de funciones, la creación de modelos y, a veces, las etapas de implementación, la mayoría de las herramientas de AutoML admiten varios algoritmos de aprendizaje automático y casi la misma cantidad de métricas de evaluación.

Cuando se inicia este tipo de herramienta, ejecuta el mismo conjunto de datos en todos los algoritmos, prueba varias métricas asociadas con el problema y luego presenta una tarjeta de informe detallada. Exploremos algunas herramientas famosas disponibles en el mercado y que se utilizan ampliamente.

H2O.ai

Una de las soluciones líderes en AutoML es H2O.ai, que ofrece soluciones listas para la industria para problemas comerciales que codifican nada desde cero. Esto permite que cualquier persona de cualquier dominio extraiga información significativa de los datos sin necesidad de tener experiencia en aprendizaje automático.

El H2O es un código abierto que admite todos los modelos de aprendizaje automático y enfoques estadísticos ampliamente utilizados. Está diseñado para ofrecer soluciones superrápidas, ya que los datos se distribuyen en clústeres y luego se almacenan en un formato de columnas en la memoria, lo que permite operaciones de lectura paralelas.

Las versiones más nuevas de este proyecto también tienen soporte para GPU, lo que lo hace más rápido y eficiente. Veamos cómo se puede realizar esto usando Python (ejecute el código en el cuaderno jupyter para una mejor comprensión):

!pip install h2o # ejecute esto si no lo ha instalado

importar agua

h2o.init()

desde h2o.automl importar H2OAutoML

df = h2o.import_file() # Aquí proporcione la ruta del archivo

y = 'etiqueta_objetivo'

x = df.remove(y)

X_train, X_test, X_validate = df.split_frame(ratios=[.7, .15])

model_obj = H2OAutoML(max_models = 10, seed = 10, verbosidad=”info”, nfolds=0)

modelo_obj.tren(x = x, y = y, marco_entrenamiento = X_tren, marco_validación=X_validar)

resultados = model_obj.leaderboard

Esto almacenará los resultados de todos los algoritmos mostrando sus respectivas métricas dependiendo del problema.

Leer: Herramientas de aprendizaje automático

Pycaret

Esta es una biblioteca bastante nueva lanzada este año, que admite una amplia gama de funciones de AutoML con solo unas pocas líneas de código. Ya sea procesando valores faltantes, transformando datos categóricos para modelar un formato alimentable, ajuste de hiperparámetros o incluso ingeniería de características, PyCaret automatiza todo esto detrás de escena cuando puede concentrarse más en las estrategias de manipulación de datos.

Es más un envoltorio de Python para todas las herramientas y bibliotecas de aprendizaje automático disponibles, como NumPy, pandas, sklearn, XGBoost, etc. Comprendamos cómo puede realizar un problema de clasificación con Pycaret:

!pip install pycaret # ejecute esto si no lo ha instalado

de pycaret.datasets importar get_data

de pycaret.clasificación de importación *

df = get_data('diabetes')

configuración = configuración (diabetes, objetivo = 'Variable de clase')

compare_models() # ¡Esta función simplemente muestra la comparación de todos los algoritmos!

modelo_seleccionado = crear_modelo() # pasar el nombre del algoritmo que desea crear

predecir_modelo(modelo_seleccionado)

modelo_final = modelo_finalizar(modelo_seleccionado)

save_model(modelo_final, 'nombre_de_archivo')

cargado = load_model('file_name')

Eso es todo, acaba de crear una canalización de transformación que realizó la ingeniería de funciones, entrenó un modelo y lo guardó.

Preparación de datos de Google

Hemos analizado dos bibliotecas que automatizan la selección de funciones, la creación de modelos y su ajuste para obtener los mejores resultados, pero no hemos discutido cómo se puede automatizar la limpieza de datos. Este proceso se puede automatizar con seguridad, pero requiere una verificación manual sobre si se pasan los datos correctos o si los valores tienen algún sentido o no.

Más datos es un punto a favor para la construcción del modelo, pero deben ser datos de calidad para obtener resultados de calidad. Google DataPrep es una herramienta inteligente de preparación de datos que se ofrece como una plataforma como un servicio que permite la limpieza visual de los datos, lo que significa que puede cambiar los datos sin codificar ni una sola línea y simplemente seleccionando las opciones.

Ofrece una GUI interactiva, lo que hace que sea muy fácil seleccionar opciones para realizar las funciones que desea aplicar. La mejor parte de esta herramienta es que mostrará todos los cambios realizados en el conjunto de datos en un panel lateral en el orden en que se realizaron y se puede cambiar cualquier paso. Ayuda a mantener un registro de los cambios. Se le pedirá que haga sugerencias, que en su mayoría son correctas.

El archivo resultante se puede exportar al almacenamiento local o, dado que este servicio se proporciona en Google Cloud Platform, puede llevar este archivo directamente a cualquier depósito de almacenamiento de Google o tablas de BigQuery donde puede realizar tareas de aprendizaje automático directamente en el editor de consultas. El mayor inconveniente de esto pueden ser sus costos recurrentes, no es un proyecto de código abierto y más bien una solución industrial completa.

¿Puede esto reemplazar a los científicos de datos?

¡Absolutamente no! El AutoML es excelente y puede ayudar al científico de datos a acelerar un ciclo de vida particular, pero siempre se necesita el asesoramiento de expertos. Por ejemplo, tomará mucho tiempo obtener el modelo correcto para la declaración de un problema en particular de un AutoML que ejecuta todos los algoritmos que de un experto que lo ejecutará en algoritmos específicos que mejor se adapten al problema.

Se requerirá que los científicos de datos validen los resultados de estos tipos de automatización y luego brinden una solución factible a las empresas. Las personas expertas en el dominio encontrarán esta automatización muy útil, ya que es posible que no tengan mucha experiencia en obtener información de los datos, pero estas herramientas los guiarán de la mejor manera.

Si desea dominar el aprendizaje automático y aprender a capacitar a un agente para que juegue tres en raya, para entrenar un chatbot, etc., consulte el curso de Diploma PG de aprendizaje automático e inteligencia artificial de upGrad.

Liderar la revolución tecnológica impulsada por la IA

CERTIFICACIÓN AVANZADA EN MACHINE LEARNING Y CLOUD DE IIT MADRAS & UPGRAD
Aprende más