Compartir a través de


Automatización del entrenamiento de modelos con la CLI de ML.NET

La CLI de ML.NET automatiza la generación de modelos para desarrolladores de .NET.

Para usar la API de ML.NET por sí misma, (sin la CLI de ML.NET AutoML), debe elegir un instructor (implementación de un algoritmo de aprendizaje automático para una tarea determinada) y el conjunto de transformaciones de datos (ingeniería de características) que se aplicarán a los datos. La canalización óptima variará para cada conjunto de datos y seleccionar el algoritmo óptimo de todas las opciones agrega a la complejidad. Aún más, cada algoritmo tiene un conjunto de hiperparámetros que se van a optimizar. Por lo tanto, puede pasar semanas y a veces meses en la optimización del modelo de aprendizaje automático intentando encontrar las mejores combinaciones de ingeniería de características, algoritmos de aprendizaje e hiperparámetros.

La CLI de ML.NET simplifica este proceso mediante el aprendizaje automático automatizado (AutoML).

Nota:

En este artículo se hace referencia a ML.NET CLI y ML.NET AutoML, que se encuentran actualmente en versión preliminar y el material está sujeto a cambios.

¿Cuál es la interfaz de línea de comandos (CLI) de ML.NET?

La CLI de ML.NET es una herramienta de .NET. Una vez instalado, se le asigna una tarea de aprendizaje automático y un conjunto de datos de entrenamiento, y genera un modelo de ML.NET, así como el código de C# que se ejecutará para usar el modelo en la aplicación.

Como se muestra en la ilustración siguiente, es fácil generar un modelo de ML.NET de alta calidad (archivo .zip modelo serializado) más el código de C# de ejemplo para ejecutar o puntuar ese modelo. Además, también se genera el código de C# para crear o entrenar ese modelo, de modo que pueda investigar e iterar en el algoritmo y la configuración usados para ese "mejor modelo".

Motor de AutoML que funciona dentro de la CLI de ML.NET

Puede generar esos recursos a partir de sus propios conjuntos de datos sin codificar por sí mismo, por lo que también mejora la productividad incluso si ya conoce ML.NET.

Actualmente, las tareas de ML compatibles con la CLI de ML.NET son:

  • clasificación
  • Regresión
  • recomendación
  • clasificación de imágenes
  • pronóstico
  • entrenar

La CLI de ML.NET se puede instalar en función del sistema operativo y su arquitectura con el siguiente comando:

dotnet tool install --global mlnet-<OS>-<ARCH>

Por ejemplo, la versión x64 de Windows se puede instalar con:

dotnet tool install --global mlnet-win-x64

Para obtener más información, consulte la guía paso a paso instalación de la CLI de ML.NET .

Un ejemplo de uso (escenario de clasificación):

mlnet classification --dataset "yelp_labelled.txt" --label-col 1 --has-header false --train-time 10

También hay un comando en el que puede entrenar mediante un archivo mbconfig . El archivo mbconfig se crea al iniciar una sesión del Generador de modelos.

Clasificación de ML.NET realizada desde la línea de comandos

Puede ejecutarlo de la misma manera en Windows PowerShell, macOS/Linux bash o CMD de Windows. Sin embargo, la finalización automática tabular (sugerencias de parámetros) no funcionará en CMD de Windows.

Recursos de salida generados

Los comandos de la tarea ml de la CLI generan los siguientes recursos en la carpeta de salida:

  • Solución de C# con:
    • Una aplicación de consola para ejecutar o puntuar el modelo generado (para realizar predicciones en las aplicaciones de usuario final con ese modelo).
    • Una aplicación de consola con el código de entrenamiento usado para generar ese modelo (con fines de aprendizaje o reentrenamiento del modelo).
      • Este modelo serializado ("mejor modelo") también se proporciona como un archivo .zip comprimido que está listo para usarse para ejecutar predicciones.
      • Un archivo mbconfig , que contiene datos de configuración que le permiten abrir el modelo en el Generador de modelos.
  • Archivo de registro con información de todas las iteraciones o barridos en varios algoritmos evaluados, incluida su canalización o configuración detallada.

Los dos primeros activos pueden usarse directamente en sus aplicaciones de usuario final (por ejemplo, principales aplicaciones web ASP.NET Core, servicios y aplicaciones de escritorio) para realizar predicciones con ese modelo de aprendizaje automático generado.

El tercer recurso, el código de entrenamiento, muestra qué código de la API de ML.NET usó la CLI para entrenar el modelo generado, lo que le permite volver a entrenar su modelo y investigar e iterar sobre qué entrenador/algoritmo y hiperparámetros específicos se seleccionaron mediante la CLI y AutoML de forma implícita.

Descripción de la calidad del modelo

Al generar un "modelo mejor" con la herramienta de la CLI, verá métricas de calidad (como precisión y R cuadrado) según corresponda a la tarea de ML que tiene como destino.

Estas métricas se resumen agrupadas por tareas de aprendizaje automático para que puedan comprender la calidad de su "mejor modelo" generado automáticamente.

Métricas para modelos de clasificación

En la imagen siguiente se muestra la lista de métricas de clasificación de los cinco modelos principales encontrados por la CLI:

Métricas de clasificación para los cinco modelos principales

La precisión es una métrica popular para los problemas de clasificación, pero la precisión no siempre es la mejor métrica para seleccionar el mejor modelo, como se explica en las referencias siguientes. Hay casos en los que es necesario evaluar la calidad del modelo con métricas adicionales.

Para explorar y comprender las métricas que genera la CLI, consulte Métricas de evaluación para la clasificación.

Métricas para modelos de regresión y recomendación

Un modelo de regresión se ajusta bien a los datos si las diferencias entre los valores observados y los valores previstos del modelo son pequeños y no sesgados. La regresión se puede evaluar con determinadas métricas.

Verá una lista similar de métricas para los cinco principales modelos de calidad encontrados por la CLI, excepto en este caso, los cinco principales están relacionados con una tarea de ML de regresión:

Métricas de regresión para los cinco modelos principales

Para explorar y comprender las métricas que genera la CLI, consulte Métricas de evaluación para la regresión.

Consulte también