Selección del escenario y preparación de los datos

Completado

En esta unidad, aprenderá a elegir un escenario, seleccionar un entorno de entrenamiento y preparar los datos para el entrenamiento en Model Builder.

Inicio del proceso de entrenamiento

Para iniciar el proceso de entrenamiento, es preciso agregar un nuevo elemento Modelo de Machine Learning (ML.NET) a una aplicación .NET nueva o existente.

Sugerencia

La portabilidad es una de las ventajas que proporcionan las bibliotecas de clases. Estas bibliotecas facilitan que se haga referencia a cualquier modelo que forma parte de él desde la consola, el escritorio, la web y cualquier otro tipo de aplicación .NET. Se recomienda agregar elementos Modelo de Machine Learning (ML.NET) a una biblioteca de clases.

El elemento Modelo de Machine Learning (ML.NET) agrega un archivo al proyecto con la extensión .mbconfig. Los archivos que usan la extensión .mbconfig son archivos de configuración de Model Builder creados en JSON. Estos archivos permiten:

  • Proporcione un nombre para el modelo.
  • Colaborar con otros usuarios del equipo a través del control de código fuente.
  • Conservar el estado. Si en algún momento del proceso de entrenamiento necesita cerrar Model Builder, su estado se guarda y puede retomar el trabajo más adelante donde lo dejó.

Elección de un escenario

El primer paso para entrenar un modelo de Machine Learning consiste en decidir qué escenario y qué tarea de aprendizaje automático son los más adecuados en función de lo que se intenta predecir.

¿Qué es un escenario?

Un escenario describe el problema que se intenta resolver mediante los datos. Entre los escenarios comunes se incluyen los que se han enumerado en la unidad anterior:

  • Categorización de datos: organizar artículos de noticias por tema.
  • Predicción de un valor numérico: calcular el precio de una casa.
  • Agrupación de elementos con características similares: segmentar clientes.
  • Clasificación de imágenes: etiquetar una imagen en función de su contenido.
  • Recomendación de elementos: recomendar películas.
  • Detección de objetos en una imagen: detectar peatones y bicicletas en un cruce.

Estos escenarios se asignan a tareas de aprendizaje automático. Una tarea de aprendizaje automático es el tipo de predicción o inferencia que se realiza, en función del problema o la pregunta que se realiza y de los datos disponibles.

Las tareas de aprendizaje automático suelen dividirse en dos categorías:

  • Supervisado
  • Sin supervisar

La principal diferencia entre ellas es si la etiqueta (es decir, el valor que se intenta predecir) se conoce, o no.

En el caso de las tareas supervisadas, la etiqueta se conoce. Entre los ejemplos de tareas de aprendizaje automático supervisado se incluyen los siguientes:

  • Clasificación
    • Binario (dos categorías)
    • Multiclase (dos o más categorías)
    • Imagen
  • Regresión

En el caso de las tareas no supervisadas, la etiqueta no se conoce. Entre los ejemplos de tareas de aprendizaje automático no supervisado se incluyen los siguientes:

  • Agrupación en clústeres
  • Detección de anomalías

Escenarios compatibles con Model Builder

Model Builder admite los siguientes escenarios, que se asignan a tareas de aprendizaje automático:

Escenario Tarea de Machine Learning Caso de uso
Clasificación de datos Clasificación binaria y multiclase Organice artículos por tema.
Predicción de valores Regresión lineal Prediga el precio de una casa en función de sus características.
Clasificación de imágenes Clasificación de imágenes (aprendizaje profundo) Organice imágenes por especie de animal en función del contenido de una imagen.
Recomendación Recomendación Recomiende películas en función de las preferencias de usuarios similares.
Detección de objetos Detección de objetos (aprendizaje profundo) Identifique daños físicos en una imagen.

Selección de un escenario para el mantenimiento predictivo

En función del aspecto de los datos, el problema del mantenimiento predictivo se puede modelar mediante diferentes tareas. En su caso de uso, como la etiqueta es un valor binario (0 o 1) que describe si una máquina está estropeada o no, el escenario de clasificación de datos es adecuado.

Selección del entorno

Ahora que ha seleccionado la clasificación de datos, es el momento de elegir el entorno en el que quiere entrenar el modelo de Machine Learning. Los entornos describen los recursos de proceso que va a usar para entrenar el modelo de Machine Learning.

Entornos admitidos en Model Builder

Model Builder admite las siguientes opciones de entorno:

Escenario CPU local GPU local GPU de Azure
Clasificación de datos ✔️
Predicción de valores ✔️
Clasificación de imágenes ✔️ ✔️ ✔️
Recomendación ✔️
Detección de objetos ✔️

En función del caso de uso, hay varias razones por las que podría elegir un entorno local o de Azure.

Entornos locales

Entre otros, estos son los motivos por los que podría considerar el uso de entornos de proceso locales:

  • El entrenamiento local no le cuesta nada, ya que usa los recursos del equipo.
  • No quiere que los datos salgan del equipo o el centro de datos.

Entornos de Azure

Los escenarios como la clasificación de imágenes y la detección de objetos consumen muchos recursos. En general, el uso de una GPU puede acelerar el proceso de entrenamiento. Si no tiene una GPU o un equipo con suficiente CPU o RAM, la descarga del proceso de entrenamiento en Azure puede aligerar la carga para el sistema.

Carga y preparación de los datos

Una vez que ha seleccionado el escenario y el entorno de entrenamiento, es el momento de cargar y preparar los datos.

Los datos son el componente más importante para crear modelos de Machine Learning. El proceso para cargar datos en Model Builder consta de tres pasos:

  1. Selección del tipo de origen de datos.
  2. Indique la ubicación de los datos.
  3. Selección del propósito de la columna.

Selección del tipo de origen de datos

En función del escenario, Model Builder admite la carga de datos de los siguientes orígenes:

  • Archivos delimitados (coma, punto y coma, y tabulación)
  • Bases de datos de SQL Server locales y remotas
  • Imágenes (.jpg y .png)

Especificación de la ubicación de los datos

Después de seleccionar el tipo de origen de datos, debe proporcionar la ubicación en la que se almacena el conjunto de datos. Esta ubicación puede ser un directorio, una ruta de acceso a un archivo o una cadena de conexión de base de datos. Depende del escenario y el tipo de origen de datos que haya seleccionado.

Cuando se selecciona un origen de datos en Model Builder, este analiza los datos y hace todo lo posible por identificar lo siguiente:

  • Encabezados y nombres de columna
  • Delimitador de columnas.
  • Tipos de datos de columna
  • Propósito de la columna
  • Separadores decimales

Después de que se cargan los datos, Model Builder muestra una vista previa de algunos de los elementos del conjunto de datos.

Selección del propósito de la columna

En función del escenario que elija, tendrá que definir el propósito de determinadas columnas. En escenarios como la clasificación de datos y la predicción de valores, tendrá que elegir cuál de las columnas quiere predecir (etiqueta).

De forma predeterminada, todas las demás columnas que no sean la etiqueta se usarán como características. Las características son columnas que se usan como entradas para predecir la etiqueta.

Opciones de datos avanzadas

Para personalizar cómo se cargan los datos, Model Builder ofrece opciones de datos avanzadas. Estas opciones permiten personalizar la configuración relativa al formato de las columnas y del conjunto de datos.

Para las columnas, puede elegir la siguiente configuración:

  • Propósito: ¿la columna debe ser una característica, una etiqueta u omitirse? Solo puede seleccionar una columna como etiqueta.
  • Tipo de datos: ¿es el valor un valor flotante de precisión sencilla, una cadena o un valor booleano?
  • Categoría: ¿la columna representa un valor de categoría (por ejemplo: bajo, medio o alto)?

Para dar formato a los datos, puede elegir si contienen encabezados de columna, un separador de columnas (coma, punto y coma o tabulación) y un tipo de separador decimal (punto o coma).

Descripción del conjunto de datos de mantenimiento predictivo

El conjunto de datos que se usa en este módulo es el conjunto de datos de mantenimiento predictivo AI4I 2020. Este conjunto de datos sintético refleja los datos reales de mantenimiento predictivo detectados en el sector. Consta de 10 000 puntos de datos y 14 columnas. Se ha tomado de:

Explainable Artificial Intelligence for Predictive Maintenance Applications, de Stephan Matzka, Third International Conference on Artificial Intelligence for Industries (AI4I 2020), 2020 (en papel), hospedado en Machine Learning Repository de UCI, de Dua, D. y Graff, C. (2019). Repositorio de aprendizaje automático de UCI http://archive.ics.uci.edu/ml. Irvine, CA: Universidad de California, Facultad de Ciencias de la Computación y de la Información.

Esta es una vista previa del aspecto de los datos:

UDI Product ID Tipo Temperatura del aire [K] Temperatura del proceso [K] Velocidad de rotación [rpm] Par motor [Nm] Desgaste de la herramienta [min] Error de la máquina TWF HDF PWF OSF RNF
1 M14860 M 298,1 308,6 1 551 42,8 0 0 0 0 0 0 0
162 L47341 L 298,3 308,1 1412 52,3 218 1 0 0 0 1 0

Las columnas se definen de la siguiente manera:

  • UDI: índice de la fila.
  • Id. de producto: identificador de producto que contiene una categoría de tipo de producto y un número de serie específico de la variante.
  • Tipo: categoría de calidad del producto. Los valores son L (bajo; 50 % de todos los productos), M (medio; 30 %) o H (alto; 20 %).
  • Temperatura del aire [K], Temperatura del proceso [K], Velocidad de rotación [rpm], Par motor [Nm] y Desgaste de la herramienta [min]: valores recopilados de los sensores.
  • Error de la máquina: etiqueta binaria (0 o 1) que indica si se ha producido un error en la máquina.
  • TWF, HDF, PWF, OSF y RNF: modos de error de la máquina independientes. Un valor de 1 indica que se ha producido el modo de error correspondiente.

En este escenario no va a usar todas las columnas del conjunto de datos, ya que no aportan información sobre la predicción o contienen información redundante.

Como quiere poder predecir si una máquina va a dejar de funcionar correctamente, la columna Error de la máquina es la etiqueta. En Model Builder, para las características, puede usar datos de las columnas Id. de producto, Tipo y varias columnas del sensor.

Aunque los modos de error son útiles para diagnosticar la causa principal de un error, no lo son para su caso de uso, ya que solo quiere saber si una máquina ha dejado de funcionar correctamente. Además, la columna Machine failure (Error de la máquina) ya captura información similar. Por consiguiente, puede omitir estas columnas.

Continúe con la unidad siguiente para comprobar sus conocimientos sobre los escenarios, los entornos y la preparación de los datos.