Entrenamiento de modelos de ML con la interfaz de usuario de AutoML de Azure Databricks

En este artículo se muestra cómo entrenar un modelo de Machine Learning mediante AutoML y la interfaz de usuario de Databricks Machine Learning. La UI de AutoML le ayuda a través del proceso de entrenamiento de un modelo de clasificación, regresión o previsión en un conjunto de datos.

Para acceder a la UI:

  1. En la barra lateral, seleccione Nuevo > Experimento de AutoML.

    También puede crear un nuevo experimento de AutoML desde la página Experimentos.

    Aparece la página Configurar experimento de AutoML. En esta página hay que configurar el proceso de AutoML, especificando el conjunto de datos, el tipo de problema, la columna de destino o de etiqueta que se va a predecir, la métrica que se va a usar para evaluar y puntuar las ejecuciones del experimento, y las condiciones de detención.

Requisitos

Consulte los requisitos para los experimentos de AutoML.

Configuración de problemas de clasificación o regresión

Puede configurar un problema de clasificación o regresión mediante la interfaz de usuario de AutoML con los pasos siguientes:

  1. En el campo Proceso, seleccione un clúster que ejecute Databricks Runtime ML.

  2. En el menú desplegable Tipo de problema de ML, seleccione Regresión o Clasificación. Si está intentando predecir un valor numérico continuo para cada observación, como los ingresos anuales, seleccione regresión. Si está intentando asignar cada observación a un valor de un conjunto discreto de clases, como el buen o mal riesgo de crédito, seleccione clasificación.

  3. En Conjunto de datos, seleccione Examinar.

  4. Vaya a la tabla que desea usar y haga clic en Seleccionar. Aparece el esquema de tabla.

    Solo para problemas de clasificación y regresión, puede especificar qué columnas incluir en el entrenamiento y seleccionar métodos de imputación personalizados.

  5. Haga clic en el campo Destino de predicción. Aparece una lista desplegable con las columnas que se muestran en el esquema. Seleccione la columna en la que quiere que el modelo haga la predicción.

  6. El campo Nombre del experimento muestra el nombre predeterminado. Para cambiarlo, escriba el nuevo nombre en el campo.

También puede:

Configuración de problemas de previsión

Puede configurar un problema de previsión mediante la interfaz de usuario de AutoML con los pasos siguientes:

  1. En el campo Proceso, seleccione un clúster que ejecute Databricks Runtime 10.0 ML o posterior.
  2. En el menú desplegable Tipo de problema de ML, seleccione Previsión.
  3. En Conjunto de datos, haga clic en Examinar. Vaya a la tabla que desea usar y haga clic en Seleccionar. Aparece el esquema de tabla.
  4. Haga clic en el campo Destino de predicción. Aparece un menú desplegable que enumera las columnas que se muestran en el esquema. Seleccione la columna en la que quiere que el modelo haga la predicción.
  5. Haga clic en el campo Columna de tiempo. Aparece una lista desplegable que muestra las columnas del conjunto de datos que son de tipo timestamp o date. Seleccione la columna que contiene los períodos de tiempo de la serie temporal.
  6. Para la previsión de varias series, seleccione la/s columna/s que identifican la serie temporal individual, en la lista desplegable Identificadores de serie temporal. AutoML agrupa los datos por estas columnas como series temporales diferentes, y entrena un modelo para cada serie de forma independiente. Si deja este campo en blanco, AutoML asume que el conjunto de datos contiene una única serie temporal.
  7. En los campos Horizonte de previsión y Frecuencia, especifique el número de períodos de tiempo en el futuro para los que AutoML debe calcular los valores previstos. En el cuadro izquierdo, escriba el número entero de períodos en los que hacer la previsión. En el cuadro derecho, seleccione las unidades. .. nota :: Para usar Auto-ARIMA, la serie temporal debe tener una frecuencia regular (es decir, el intervalo entre dos puntos cualquiera debe ser el mismo a lo largo de la serie temporal). La frecuencia debe coincidir con la unidad de frecuencia especificada en la llamada API o en la UI de AutoML. AutoML controla los pasos de tiempo que faltan, rellenando esos valores con el valor anterior.
  8. En Databricks Runtime 10.5 ML y versiones posteriores, puede guardar los resultados de la predicción. Para ello, especifique una base de datos en el campo Base de datos de salida. Haga clic en Examinar y seleccione una base de datos en el cuadro de diálogo. AutoML escribe los resultados de predicción en una tabla de esta base de datos.
  9. El campo Nombre del experimento muestra el nombre predeterminado. Para cambiarlo, escriba el nuevo nombre en el campo.

También puede:

Uso de tablas de características existentes del Almacén de características de Databricks

En Databricks Runtime 11.3 LTS ML y versiones posteriores, puede usar tablas de características en el Almacén de características de Databricks para expandir el conjunto de datos de entrenamiento de entrada para los problemas de clasificación y regresión.

En Databricks Runtime 12.2 LTS ML y versiones posteriores, puede usar tablas de características en el Almacén de características de Databricks para expandir el conjunto de datos de entrenamiento de entrada para todos los problemas de AutoML: clasificación, regresión y previsión.

Para crear una tabla de características, consulte Crear una tabla de características en Unity Catalog o Crear una tabla de características en Databricks Feature Store.

Después de terminar de configurar el experimento de AutoML, puede seleccionar una tabla de características con los pasos siguientes:

  1. Haga clic en Combinar características (opcional).

    Select Join features button

  2. En la página Combinar características adicionales, seleccione una tabla de características en el campo Tabla de características.

  3. Para cada clave principal de la tabla de características, seleccione la clave de búsqueda correspondiente. La clave de búsqueda debe ser una columna del conjunto de datos de entrenamiento que proporcionó para el experimento de AutoML.

  4. Para las tablas de características de serie temporal, seleccione la clave de búsqueda de marca de tiempo correspondiente. Del mismo modo, la clave de búsqueda de marca de tiempo debe ser una columna del conjunto de datos de entrenamiento que proporcionó para el experimento de AutoML.

    Select primary key and lookup tables

  5. Para agregar más tablas de características, haga clic en Agregar otra tabla y repita los pasos anteriores.

Configuraciones avanzadas

Abra la sección Configuración avanzada (opcional) para acceder a estos parámetros.

  • La métrica de evaluación es la métrica principal que se usa para puntuar las ejecuciones.
  • En Databricks Runtime 10.3 ML y posteriores, puede excluir los marcos de entrenamiento de esta consideración. De manera predeterminada, AutoML entrena modelos mediante marcos enumerados en Algoritmos de AutoML.
  • Puede editar las condiciones de detención. Las condiciones de detención predeterminadas son:
    • Para los experimentos de previsión, se detiene al llegar a 120 minutos.
    • En Databricks Runtime 10.5 ML y versiones anteriores, para los experimentos de clasificación y regresión, se detiene al llegar a 60 minutos o después de completar 200 pruebas, lo que ocurra antes. Para Databricks Runtime 11.0 ML y versiones posteriores, el número de pruebas no se usa como condición de detención.
    • En Databricks Runtime 10.1 ML y posteriores, para los experimentos de clasificación y regresión, AutoML incorpora la detención temprana; detiene el entrenamiento y el ajuste de los modelos si la métrica de validación ya no mejora.
  • En Databricks Runtime 10.1 ML y posteriores, puede seleccionar una columna de tiempo para dividir los datos para el entrenamiento, la validación y las pruebas en orden cronológico (solo se aplica a la clasificación y regresión).
  • Databricks recomienda no rellenar el campo Directorio de datos. Al hacerlo, desencadena el comportamiento predeterminado que se va a almacenar de forma segura el conjunto de datos como un artefacto de MLflow. Se puede especificar una ruta de acceso DBFS, pero en este caso, el conjunto de datos no hereda los permisos de acceso del experimento de AutoML.

Selección de columnas

Nota:

Esta funcionalidad solo está disponible para problemas de clasificación y regresión

En Databricks Runtime 10.3 ML y posteriores, puede especificar qué columnas debe usar AutoML para el entrenamiento. Para excluir una columna, desactívela en la columna Incluir.

No se puede quitar la columna seleccionada como destino de predicción o como columna de tiempo para dividir los datos.

De manera predeterminada, se incluyen todas las columnas.

Imputación de valores que faltan

En Databricks Runtime 10.4 LTS ML y posteriores, puede especificar cómo se imputan los valores NULL. En la interfaz de usuario, seleccione un método en la lista desplegable de la columna Impute with en el esquema de tabla.

De forma predeterminada, AutoML selecciona un método de imputación basado en el tipo de columna y el contenido.

Nota:

Si elige un método de imputación distinto del predeterminado, AutoML no realiza la detección de tipos semánticos.

Ejecución del experimento y comprobación de los resultados

Para iniciar el experimento de AutoML, haga clic en Iniciar AutoML. El experimento comienza a ejecutarse, y aparece la página de entrenamiento de AutoML. Para actualizar la tabla de ejecuciones, haga clic en el Refresh button.

En esta página puede realizar las siguientes acciones:

  • Detener el experimento en cualquier momento.
  • Abrir el cuaderno de exploración de datos.
  • Supervisar las ejecuciones.
  • Ir a la página de ejecución de cualquier ejecución.

Con Databricks Runtime 10.1 ML y posteriores, AutoML muestra advertencias de posibles problemas con el conjunto de datos, como tipos de columna no admitidos o columnas de cardinalidad alta.

Nota:

Databricks hace todo lo posible para indicar posibles errores o problemas. Sin embargo, puede que su labor no sea completa y que no capture problemas o errores que el usuario pueda estar buscando. Asegúrese de realizar también sus propias revisiones.

Para ver las advertencias del conjunto de datos, haga clic en la pestaña Advertencias de la página de entrenamiento, o en la página del experimento cuando esté completo.

AutoML warnings

Una vez completado el experimento, puede hacer lo siguiente:

  • Registre e implemente uno de los modelos con MLflow.
  • Seleccione Ver cuaderno del mejor modelo. Ahí podrá revisar y editar el cuaderno que creó el mejor modelo.
  • Seleccione Ver cuaderno de exploración de datos para abrir el cuaderno de exploración de datos.
  • Busque, filtre y organice las ejecuciones en la tabla de ejecuciones.
  • Consulte los detalles de cualquier ejecución:
    • El cuaderno generado que contiene el código fuente de una ejecución de prueba se puede encontrar haciendo clic en la ejecución de MLflow. El cuaderno se guarda en la sección Artefactos de la página de ejecución. Puede descargar este cuaderno e importarlo en el área de trabajo, si los administradores del área de trabajo han habilitado la descarga de artefactos.
    • Para ver los resultados de la ejecución, haga clic en la columna Modelos o en la columna Hora de inicio. Aparece la página de ejecución, que muestra información sobre la ejecución de prueba (como parámetros, métricas y etiquetas) y los artefactos creados por la ejecución, incluido el modelo. Esta página también incluye fragmentos de código que puede usar para realizar predicciones con el modelo.

Para volver a este experimento de AutoML más adelante, puede ir a la tabla de la página Experimentos. Los resultados de cada experimento de AutoML, incluidos los cuadernos de entrenamiento y de exploración de datos, se almacenan en una carpeta databricks_automl de la carpeta particular del usuario que ejecutó el experimento.

Registro e implementación de un modelo

Puede registrar e implementar el modelo con la interfaz de usuario de AutoML:

  1. Seleccione el vínculo de la columna Modelos para el modelo que se registrará. Cuando se completa una ejecución, el mejor modelo (basado en la métrica principal) es la fila superior.
  2. Seleccione el register model button para registrar el modelo en Registro de modelos.
  3. Seleccione el Models IconModelos en la barra lateral, para ir al Registro de modelos.
  4. Seleccione el nombre del modelo en la tabla de modelos.
  5. En la página del modelo registrado, puede servir el modelo con Servicio de modelos.

No hay ningún módulo denominado pandas.core.indexes.numeric

Al atender un modelo compilado mediante AutoML con el servicio de modelos, puede obtener este error: No module named 'pandas.core.indexes.numeric.

Esto se debe a una versión de pandas incompatible entre AutoML y el entorno de punto de conexión del servicio de modelos. Para resolver este error, ejecute el script add-pandas-dependency.py. El script edita requirements.txt y conda.yaml para que el modelo registrado incluya la versión de dependencia pandas adecuada: pandas==1.5.3

  1. Modifique el script para incluir el run_id de la ejecución de MLflow donde se ha registrado el modelo.
  2. Vuelva a registrar el modelo en el registro del modelo de MLflow.
  3. Pruebe a servir la nueva versión del modelo de MLflow.