Tutorial: Diseñador (entrenamiento de un modelo de regresión sin código)

Entrene un modelo de regresión lineal que prediga los precios de los automóviles mediante el diseñador de Azure Machine Learning. Este tutorial es la primera de una serie de dos partes.

En este tutorial se usa el diseñador de Azure Machine Learning. Para obtener más información, consulte ¿Qué es el diseñador de Azure Machine Learning?

En la primera parte del tutorial, aprenderá a:

  • Crear una canalización.
  • Importar datos.
  • Preparar los datos.
  • Entrenar un modelo de Machine Learning.
  • Evaluar un modelo de Machine Learning.

En la segunda parte del tutorial se implementa el modelo como punto de conexión de inferencia en tiempo real para predecir el precio de cualquier automóvil en función de las especificaciones técnicas que envíe.

Nota

Está disponible una versión completa de este tutorial como una canalización de ejemplo.

Para encontrarla, vaya al diseñador del área de trabajo. En la sección Nueva canalización, seleccione Sample 1 - Regression: Automobile Price Prediction (Basic) (Ejemplo 1 - Regresión: predicción del precio de automóviles [básica])

Importante

Si no ve los elementos gráficos que se mencionan en este documento, como los botones en Studio o en el diseñador, es posible que no tenga el nivel de permisos adecuado para el área de trabajo. Póngase en contacto con el administrador de suscripciones de Azure para verificar que se le ha concedido el nivel de acceso correcto. Para obtener más información, consulte Administración de usuarios y roles.

Creación de una canalización

Las canalizaciones de Azure Machine Learning organizan varios pasos de aprendizaje automático y procesamiento de datos en un único recurso. Las canalizaciones permiten organizar, administrar y reutilizar flujos de trabajo de aprendizaje automático complejos entre proyectos y usuarios.

Para crear una canalización de Azure Machine Learning, necesita un área de trabajo de Azure Machine Learning. En esta sección aprenderá a crear estos dos recursos.

Crear un área de trabajo

Para usar el diseñador, necesita un área de trabajo de Azure Machine Learning. El área de trabajo es el recurso de nivel superior de Azure Machine Learning y proporciona un lugar centralizado para trabajar con todos los artefactos que crea con Azure Machine Learning. Para más información sobre cómo crear un área de trabajo, consulte Creación y administración de áreas de trabajo de Azure Machine Learning.

Nota

Si el área de trabajo utiliza una red virtual, hay pasos de configuración adicionales que debe realizar para usar el diseñador. Para más información, consulte el artículo sobre el uso de Azure Machine Learning Studio en una red virtual de Azure.

Creación de la canalización

  1. Inicie sesión en ml.azure.com y seleccione el área de trabajo con la que quiere trabajar.

  2. Seleccione Diseñador.

    Screenshot of the visual workspace showing how to access the designer.

  3. Seleccione Easy-to-use prebuilt components (Componentes precompilados fáciles de usar).

  4. En la parte superior del lienzo, seleccione el nombre predeterminado de la canalización, Pipeline-Created-on (Canalización creada el). Cambie el nombre a Automobile price prediction (Predicción del precio de automóviles). No es necesario que el nombre sea único.

Configuración del destino de proceso predeterminado

Una canalización se ejecuta en un destino de proceso que es un recurso de proceso asociado al área de trabajo. Después de crear un destino de proceso, puede volver a usarlo para futuras ejecuciones.

Importante

No se admite el proceso asociado, use instancias de proceso o clústeres en su lugar.

Puede establecer un destino de proceso predeterminado para toda la canalización. Este indicará a cada componente que debe usar el mismo destino de proceso de forma predeterminada. Sin embargo, puede especificar destinos de proceso por módulo.

  1. Junto al nombre de la canalización, seleccione el icono de engranajeScreenshot of the gear icon that is in the UI. en la parte superior del lienzo para abrir el panel Configuración.

  2. En el panel de configuración situado a la derecha del lienzo, elija Selección de destino de proceso.

    Si ya tiene un destino de proceso disponible, puede seleccionarlo para ejecutar esta canalización.

  3. Escriba un nombre para el recurso de proceso.

  4. Seleccione Guardar.

    Nota:

    La creación de un recurso de proceso tarda aproximadamente cinco minutos. Una vez creado el recurso, puede volver a usarlo y eliminar este tiempo de espera en futuras ejecuciones.

    El recurso de proceso se escala automáticamente a cero nodos cuando está inactivo para ahorrar costes. Cuando se vuelve a usar después de un retraso, es posible que experimente aproximadamente cinco minutos de tiempo de espera mientras se escala la copia de seguridad.

Importar datos

Se incluyen varios conjuntos de datos de ejemplo en el diseñador para que experimente con ellos. En este tutorial, use Automobile price data (Raw) .

  1. A la izquierda del lienzo de la canalización, hay una paleta de conjuntos de datos y componentes. Seleccione Conjuntos de datos de ejemplo para ver los conjuntos de datos de ejemplo disponibles.

  2. Seleccione el conjunto de datos Automobile price data (Raw) y arrástrelo al lienzo.

    Gif of dragging the Automobile price data to the canvas.

Visualización de los datos

Puede visualizar los datos para comprender el conjunto de datos que va a usar.

  1. Haga clic con el botón derecho en Datos de precio del automóvil (sin procesar) y seleccione Vista previa de los datos.

  2. Seleccione las diferentes columnas de la ventana de datos para ver información sobre cada una.

    Cada fila representa un automóvil y las variables asociadas a cada uno aparecen como columnas. Hay 205 filas y 26 columnas en este conjunto de datos.

Preparación de los datos

Los conjuntos de datos suelen necesitar algún procesamiento previo antes del análisis. Puede que, al inspeccionar el conjunto de datos, haya observado que faltan algunos valores. Estos valores que faltan se deben limpiar, para que el modelo pueda analizar los datos de manera adecuada.

Quitar una columna

Al entrenar un modelo, hay que hacer algo con los datos que faltan. En este conjunto de datos, faltan muchos valores en la columna normalized-losses, por lo que excluiremos toda esa columna del modelo.

  1. En la paleta de componentes que se encuentra a la izquierda del lienzo, expanda la sección Transformación de datos y busque el componente Select Columns in Dataset (Seleccionar columnas del conjunto de datos).

  2. Arrastre el componente Select Columns in Dataset (Seleccionar columnas del conjunto de datos) al lienzo. Coloque el componente debajo del componente de conjunto de datos.

  3. Conecte el conjunto de datos Automobile price data (Raw) al componente Select Columns in Dataset (Seleccionar columnas del conjunto de datos). Arrastre desde el puerto de salida del conjunto de datos, que es el círculo pequeño situado en la parte inferior del conjunto de datos en el lienzo, hasta el puerto de entrada de Select Columns in Dataset (Seleccionar columnas del conjunto de datos), que es el círculo pequeño de la parte superior del componente.

    Sugerencia

    Puede crear un flujo de datos mediante la canalización si conecta el puerto de salida de un componente al puerto de entrada de otro.

    Screenshot of connecting Automobile price data component to select columns in dataset component.

  4. Seleccione el componente Select Columns in Dataset (Seleccionar columnas del conjunto de datos).

  5. En el panel de detalles del componente, situado a la derecha del lienzo, seleccione Edit column (Editar columna).

  6. Expanda la lista desplegable Nombres de columna situada junto a Incluir y seleccione Todas las columnas.

  7. Seleccione el signo + para agregar una nueva regla.

  8. En los menús desplegables, seleccione Excluir y Nombres de columna.

  9. Escriba normalized-losses en el cuadro de texto.

  10. En la esquina inferior derecha, seleccione Save (Guardar) para cerrar el selector de columnas.

    Screenshot of select columns with exclude highlighted.

  11. Seleccione el componente Select Columns in Dataset (Seleccionar columnas del conjunto de datos).

  12. En el panel de detalles del componente situado a la derecha del lienzo, seleccione el cuadro de texto Comentario y escriba Exclude normalized losses (Excluir pérdidas normalizadas).

    Los comentarios aparecerán en el gráfico para ayudarle a organizar la canalización.

Limpiar datos que faltan

Después de quitar la columna normalized-losses, aún faltan valores en el conjunto de datos. Puede eliminar el resto de los datos que faltan mediante el componente Clean Missing Data (Limpiar datos que faltan).

Sugerencia

Un requisito previo para usar la mayoría de los componentes del diseñador es limpiar los valores que faltan.

  1. En la paleta de componentes que se encuentra a la izquierda del lienzo, expanda la sección Transformación de datos y busque el componente Clean Missing Data (Limpiar datos que faltan).

  2. Arrastre el componente Clean Missing Data (Limpiar datos que faltan) al lienzo de la canalización. Conéctelo al componente Select Columns in Dataset (Seleccionar columnas del conjunto de datos).

  3. Seleccione el componente Clean Missing Data (Limpiar datos que faltan).

  4. En el panel de detalles del componente, situado a la derecha del lienzo, seleccione Edit Column (Editar columna).

  5. En la ventana Columns to be cleaned (Columnas que se limpian) que aparece, expanda el menú desplegable situado junto a Include (Incluir). Seleccione All columns (Todas las columnas).

  6. Seleccione Guardar.

  7. En el panel de detalles del componente situado a la derecha del lienzo, seleccione Remove entire row (Quitar toda la fila) en Cleaning mode (Modo de limpieza).

  8. En el panel de detalles del componente situado a la derecha del lienzo, seleccione el cuadro Comentario y escriba Remove missing value rows (Quitar filas de valores que faltan).

    La canalización debe parecerse a esta:

    Screenshot of automobile price data connected to select columns in dataset component, which is connected to clean missing data.

Entrenar un modelo de Machine Learning

Ahora que los componentes están listos para procesar los datos, puede configurar los componentes de entrenamiento.

Como lo que se desea es predecir un precio, que es un número, se puede usar un algoritmo de regresión. En este ejemplo, va a usar un modelo de regresión lineal.

División de los datos

La división de los datos es una tarea común en el aprendizaje automático. Dividirá los datos en dos conjuntos independientes. Uno de ellos entrenará el modelo, mientras que el otro probará su funcionamiento.

  1. En la paleta de componentes, expanda la sección Transformación de datos y busque el componente Split Data (Dividir datos).

  2. Arrastre el componente Split Data (Dividir datos) al lienzo de la canalización.

  3. Conecte al puerto izquierdo del componente Clean Missing Data(Limpiar datos que faltan) al componente Split Data (Dividir datos).

    Importante

    Asegúrese de que el puerto de salida izquierdo de Clean Missing Data (Limpiar datos que faltan) se conecta a Split Data (Dividir datos). El puerto izquierdo contiene los datos limpios. El puerto derecho contiene los datos descartados.

  4. Seleccione el componente Split Data (Dividir datos).

  5. En el panel de detalles del componente que se encuentra a la derecha del lienzo, establezca la opción Fraction of rows in the first output dataset (Fracción de filas del primer conjunto de datos de salida) en 0,7.

    De este modo divide los datos: el 70 % para entrenar el modelo y el 30 % para probarlo. Al conjunto de datos del 70 % se podrá acceder a través del puerto de salida de la izquierda. Los restantes datos estarán disponibles a través del puerto de salida derecho.

  6. En el panel de detalles del componente situado a la derecha del lienzo, seleccione el cuadro Comentario y escriba Split the dataset into training set (0.7) and test set (0.3) (Dividir el conjunto de datos en conjunto de entrenamiento [0,7] y conjunto de pruebas [0,3]).

Entrenamiento del modelo

Para entrenar el modelo, proporciónele un conjunto de datos que incluya el precio. El algoritmo construye un modelo que explica la relación entre las características y el precio presentado por los datos de entrenamiento.

  1. En la paleta de componentes expanda Machine Learning Algorithms (Algoritmos de aprendizaje automático).

    Esta opción muestra varias categorías de componentes que se pueden usar para inicializar algoritmos de aprendizaje.

  2. Seleccione Regression>Linear Regression (Regresión > Regresión lineal) y arrástrelo al lienzo de la canalización.

  3. En la paleta de componentes, expanda la sección Entrenamiento de módulos y arrastre el componente Train Model (Entrenar modelo) al lienzo.

  4. Conecte la salida del componente Linear Regression (Regresión lineal) a la entrada izquierda del componente Train Model (Entrenar modelo).

  5. Conecte la salida de datos de entrenamiento (puerto izquierdo) del componente Dividir datos a la entrada derecha del componente Entrenar modelo.

    Importante

    Asegúrese de que el puerto de salida izquierdo de Split Data (Dividir datos) se conecta a Train Model (Entrenar modelo). El puerto izquierdo contiene el conjunto de entrenamiento. El puerto derecho contiene el conjunto de prueba.

    Screenshot showing the Linear Regression connects to left port of Train Model and the Split Data connects to right port of Train Model.

  6. Seleccione el componente Entrenar modelo.

  7. En el panel de detalles del componente, situado a la derecha del lienzo, seleccione Edit Column (Editar columna).

  8. En el cuadro de diálogo Label column (Columna de etiqueta), expanda el menú desplegable y seleccione Column names (Nombres de columna).

  9. En el cuadro de texto, escriba precio para especificar el valor que el modelo va a predecir.

    Importante

    Asegúrese de escribir exactamente el nombre de la columna. No use mayúsculas para el precio.

    La canalización debe ser parecida a esta:

    Screenshot showing the correct configuration of the pipeline after adding the Train Model component.

Incorporación del componente Score Model (Puntuar modelo)

Después de entrenar el modelo con el 70 % de los datos, puede usarlo para puntuar el otro 30 % y ver si el modelo funciona correctamente.

  1. Escriba score model en el cuadro de búsqueda para encontrar el componente Score Model (Puntuar modelo). Arrastre el componente al lienzo de la canalización.

  2. Conecte la salida del componente Train Model (Entrenar modelo) al puerto de entrada izquierdo de Score Model (Entrenar modelo). Conecte la salida de los datos de prueba (puerto derecho) del componente Split Data (Dividir datos) al puerto de entrada correcto de Score Model (Puntuar modelo).

Incorporación del componente Evaluate Model (Evaluar modelo)

Use el componente Evaluate Model (Evaluar modelo) para evaluar la puntuación que dio el modelo al conjunto de datos de prueba.

  1. Escriba evaluate en el cuadro de búsqueda para buscar el componente Evaluate Model (Evaluar modelo). Arrastre el componente al lienzo de la canalización.

  2. Conecte la salida del componente Score Model (Puntuar modelo) a la entrada izquierda de Evaluate Model (Evaluar modelo).

    La canalización final debe parecerse a esta:

    Screenshot showing the correct configuration of the pipeline.

Enviar la canalización

Ahora que ya ha configurado la canalización, puede enviar una ejecución de canalización para entrenar el modelo de Machine Learning. Puede enviar una ejecución de canalización válida en cualquier momento, que se puede usar para revisar los cambios de la canalización durante el desarrollo.

  1. En la parte superior del lienzo, seleccione Enviar.

  2. En el cuadro de diálogo Configurar trabajo de canalización, seleccione Crear nuevo.

    Nota

    Los experimentos agrupan ejecuciones de canalización. Si ejecuta una canalización varias veces, puede seleccionar el mismo experimento para ejecuciones sucesivas.

    1. En Nombre de nuevo experimento, escriba Tutorial-CarPrices.

    2. Seleccione Submit (Enviar).

    3. Verá una lista de envío en el panel izquierdo del lienzo, y aparecerá una notificación en la esquina superior derecha de la página. Puede seleccionar el vínculo Detalles del trabajo para ir a la página de detalles del trabajo para la depuración.

      Screenshot of the submitted jobs list with a success notification.

    Si esta es la primera ejecución, la canalización puede tardar hasta 20 minutos en finalizar la ejecución. La configuración del proceso predeterminada tiene un tamaño de nodo mínimo de 0, lo que significa que el diseñador debe asignar recursos después de estar inactivo. Las ejecuciones de canalización repetidas tardarán menos en terminar, dado que los recursos del proceso ya están asignados. Además, el diseñador usa resultados almacenados en la caché de cada componente para mejorar aún más la eficiencia.

Visualización de etiquetas con puntuación

En la página de detalles del trabajo, puede comprobar el estado del trabajo de canalización, los resultados y los registros.

Screenshot showing the pipeline job detail page.

Una vez finalizada la ejecución, puede ver los resultados de la ejecución de la canalización. En primer lugar, examine las predicciones generadas por el modelo de regresión.

  1. Haga clic con el botón derecho en el componente Puntuar modelo y seleccione Vista previa de los datos>Conjunto de datos puntuado para ver el resultado.

    Aquí puede ver los precios previstos y los precios reales de los datos de prueba.

    Screenshot of the output visualization highlighting the Scored Label column.

Evaluación de modelos

Use Evaluate Model (Evaluar modelo) para ver el rendimiento del modelo entrenado en el conjunto de datos de prueba.

  1. Haga clic con el botón derecho en el componente Evaluar modelo y seleccione Vista previa de los datos>Resultados de la evaluación para ver el resultado.

Se muestran las siguientes estadísticas de su modelo:

  • Desviación media (MAE) : la media de errores absolutos. Un error es la diferencia entre el valor previsto y el valor real.
  • Error cuadrático medio (RMSE) : la raíz cuadrada de la media de errores al cuadrado de las predicciones realizadas sobre el conjunto de datos de prueba.
  • Error absoluto relativo: la media de errores absolutos en relación con la diferencia absoluta entre los valores reales y la media de todos los valores reales.
  • Error al cuadrado relativo: la media de errores al cuadrado en relación con la diferencia al cuadrado entre los valores reales y la media de todos los valores reales.
  • Coeficiente de determinación: conocido también como valor R cuadrado, es una métrica estadística que indica en qué medida se ajusta un modelo a los datos.

Para cada una de las estadísticas de errores, cuanto menor sea el valor, mejor. Un valor inferior indica que las predicciones están más próximas a los valores reales. En el coeficiente de determinación, cuanto más próximo es su valor a uno (1,0), mejores son las predicciones.

Limpieza de recursos

Omita esta sección si desea continuar con la parte 2 del tutorial sobre la implementación de modelos.

Importante

Los recursos que creó pueden usarse como requisitos previos de otros tutoriales y artículos de procedimientos de Azure Machine Learning.

Eliminar todo el contenido

Si no va a usar nada de lo que ha creado, elimine el grupo de recursos completo para que no le genere gastos.

  1. En Azure Portal, seleccione Grupos de recursos en la parte izquierda de la ventana.

    Delete resource group in the Azure portal

  2. En la lista, seleccione el grupo de recursos que creó.

  3. Seleccione Eliminar grupo de recursos.

Al eliminar el grupo de recursos también se eliminan todos los recursos que creó en el diseñador.

Eliminación de recursos individuales

En diseñador donde creó el experimento, elimine recursos individuales; para ello, selecciónelos y, luego, haga clic en el botón Eliminar.

El destino de proceso que ha creado aquí se escala automáticamente a cero nodos cuando no se usa. Esta acción se lleva a cabo para minimizar los cargos. Si quiere eliminar el destino de proceso, siga estos pasos:

Delete assets

Puede anular el registro de los conjuntos de datos del área de trabajo seleccionando cada conjunto de datos y Anular el registro.

Unregister dataset

Para eliminar un conjunto de datos, vaya a la cuenta de almacenamiento mediante Azure Portal o el Explorador de Azure Storage y elimine manualmente esos recursos.

Pasos siguientes

En la segunda parte, aprenderá a implementar el modelo como un punto de conexión en tiempo real.