Compartir a través de


Análisis de datos con Azure Machine Learning

En este tutorial se usa Azure Machine Learning Designer para crear un modelo de aprendizaje automático predictivo. El modelo se basa en los datos almacenados en Azure Synapse. El escenario del tutorial es predecir la probabilidad de que un cliente compre una bicicleta y su finalidad es que Adventure Works, la tienda de bicicletas, pueda crear una campaña de marketing dirigida.

Requisitos previos

Para realizar este tutorial, necesita:

Obtener los datos

Los datos usados están en la vista dbo.vTargetMail en AdventureWorksDW. Para usar el almacén de datos en este tutorial, los datos se exportan primero a la cuenta de Azure Data Lake Storage, ya que en la actualidad Azure Synapse no admite conjuntos de datos. Azure Data Factory se puede usar para exportar datos desde el almacenamiento de datos a Azure Data Lake Storage mediante la actividad de copia. Use la siguiente consulta para la importación:

SELECT [CustomerKey]
  ,[GeographyKey]
  ,[CustomerAlternateKey]
  ,[MaritalStatus]
  ,[Gender]
  ,cast ([YearlyIncome] as int) as SalaryYear
  ,[TotalChildren]
  ,[NumberChildrenAtHome]
  ,[EnglishEducation]
  ,[EnglishOccupation]
  ,[HouseOwnerFlag]
  ,[NumberCarsOwned]
  ,[CommuteDistance]
  ,[Region]
  ,[Age]
  ,[BikeBuyer]
FROM [dbo].[vTargetMail]

Una vez que los datos están disponibles en Azure Data Lake Storage, los almacenes de datos de Azure Machine Learning se utilizan para conectarse a los servicios de almacenamiento de Azure. Siga los pasos que se indican a continuación para crear un almacén de datos y el correspondiente conjunto de datos:

  1. Inicie Azure Machine Learning Studio desde Azure Portal o inicie sesión en Estudio de Azure Machine Learning.

  2. Haga clic en Almacenes de datos en el panel izquierdo de la sección Administrar y, a continuación, haga clic en New Datastore (Nuevo almacén de datos).

    Captura de pantalla del panel izquierdo de la interfaz de Azure Machine Learning

  3. Proporcione un nombre para el almacén de datos, seleccione el tipo como "Azure Blob Storage", facilite la ubicación y las credenciales. A continuación, haga clic en Crear.

  4. A continuación, haga clic en Conjuntos de datos en el panel izquierdo en la sección Recursos. Seleccione Crear conjunto de datos con la opción De almacén de datos.

  5. Especifique el nombre del conjunto de datos y seleccione el tipo para que sea Tabular. A continuación, haga clic en Siguiente para avanzar.

  6. En Select or create a datastore section (Seleccionar o crear una sección de almacén de datos), seleccione la opción Previously created datastore (Almacén de datos creado anteriormente). Seleccione el almacén de datos que se creó anteriormente. Haga clic en Siguiente y especifique la ruta de acceso y la configuración del archivo. Asegúrese de especificar el encabezado de columna, si los archivos contienen uno.

  7. Por último, haga clic en Crear para crear el conjunto de datos.

Configuración del experimento del diseñador

Después, siga los pasos que aparecen a continuación para configurar el diseñador:

  1. Haga clic en la pestaña Designer en el panel izquierdo en la sección Autor.

  2. Seleccione Componentes creados previamente fáciles de usar para crear una nueva canalización.

  3. En el panel de valores de la derecha, especifique el nombre de la canalización.

  4. Seleccione también un clúster aprovisionado previamente como clúster de proceso de destino para todo el experimento. Cierre la ventana Configuración.

Importación de los datos

  1. Seleccione la subpestaña Conjuntos de datos en el panel izquierdo, debajo del cuadro de búsqueda.

  2. Arrastre el conjunto de datos que creó anteriormente al lienzo.

    Captura de pantalla del componente de conjunto de datos en el lienzo.

Limpiar los datos

Para limpiar los datos, anule las columnas que no sean pertinentes para el modelo. Para hacerlo, siga estos pasos:

  1. Seleccione la subpestaña Componentes en el panel izquierdo.

  2. Arrastre el componente Seleccionar columnas en el conjunto de datos en la opción Transformación de datos < Manipulación en el lienzo. Conecte este componente al componente Conjunto de datos.

    Captura de pantalla del componente de selección de columnas en el lienzo.

  3. Haga clic en el componente para abrir el panel de propiedades. Haga clic en Editar columna para especificar cuáles son las columnas que desea anular.

  4. Excluya dos columnas: CustomerAlternateKey y GeographyKey. Haga clic en Guardar

    Captura de pantalla con las columnas que se van a anular.

Generar el modelo

Los datos se dividen en 80-20: 80 % para entrenar un modelo de aprendizaje automático y un 20 % para probar el modelo. En este problema de clasificación binaria se usan los algoritmos de "dos clases".

  1. Arrastre el módulo Dividir datoshasta el lienzo.

  2. En el panel de propiedades, escriba 0,8 en Fraction of rows in the first output dataset (Fracción de filas del primer conjunto de datos de salida).

    Captura de pantalla que muestra la relación de división de 0,8.

  3. Arrastre el componente Árbol de decisión aumentado de dos clases al lienzo.

  4. Arrastre el módulo Entrenar modelo hasta el lienzo. Especifique las entradas conectándolo a los componentes Árbol de decisión promovido por dos clases que es un algoritmo de ML, y Dividir datos, que son los datos para entrenar el algoritmo.

  5. En el caso del modelo Train Model (Entrenar modelo), en la opción Label column (Columna de etiqueta) del panel Properties (Propiedades), seleccione Edit column (Editar columna). Seleccione la columna BikeBuyer como columna de predicción y haga clic en Guardar.

    Captura de pantalla en la que se muestra la columna de etiqueta BikeBuyer seleccionada.

    Captura de pantalla del componente Entrenar modelo conectado a los componentes Árbol de decisión promovido por dos clases y Dividir datos.

Puntuación del modelo

Ahora pruebe cómo funciona el modelo con datos de prueba. Se compararán dos algoritmos distintos para ver cuál funciona mejor. Para hacerlo, siga estos pasos:

  1. Arrastre el módulo Modelo de puntuación al lienzo y conéctelo a los módulos Entrenar modelo y Datos divididos.

  2. Arrastre Two-Class Bayes Averaged Perceptron (Perceptrón promedio de Bayes de dos clases) al lienzo del experimento. Podrá ver cómo funciona este algoritmo en comparación con Two-Class Boosted Decision Tree (Árbol de decisión promovido por dos clases).

  3. Copie y pegue los componentes Entrenar modelo y Puntuar modeloen el lienzo.

  4. Arrastre el componenteEvaluar modelo al lienzo para comparar los dos algoritmos.

  5. Haga clic en Enviar para configurar la ejecución de la canalización.

    Captura de pantalla de todos los componentes restantes en el lienzo.

  6. Una vez finalizada la ejecución, haga clic con el botón derecho en el módulo Evaluar modelo y haga clic en Visualizar resultados de evaluación.

    Captura de pantalla de los resultados.

Las métricas proporcionadas son la curva ROC, el diagrama de retirada-precisión y la curva de elevación. Al mirar estas métricas, se puede observar que el primer modelo funciona mejor que el segundo. Para ver lo que predijo el primer modelo, haga clic con el botón derecho en el componente Puntuar modelo y haga clic en Visualizar resultados con puntuación para ver los resultados previstos.

Verá dos columnas más agregadas al conjunto de datos de prueba.

  • Probabilidades puntuadas: la probabilidad de que un cliente sea comprador de bicicletas.
  • Etiquetas puntuadas: la clasificación realizada por el modelo – comprador de bicicletas (1) o no (0). Este umbral de probabilidad para etiquetar se establece en 50% y se puede ajustar.

Para ver cómo ha funcionado el modelo compare la columna BikeBuyer (real) con la columna de predicción Scored Labels (Etiquetas puntuadas). A continuación, puede utilizar este modelo para hacer predicciones para nuevos clientes. Puede publicar este modelo como un servicio web o escribir los resultados en Azure Synapse.

Pasos siguientes

Para más información sobre Azure Machine Learning, consulte Introducción a Machine Learning en Azure.

Obtenga aquí información acerca de la puntuación integrada en el almacenamiento de datos.