SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Crea un modelo de clasificación con Azure
Machine Learning designer
La clasificación es una técnica supervisada de machine learning utilizada para predecir
categorías o clases. En este módulo aprenderás a crear, entrenar y publicar modelos de
clasificación con el diseñador de Azure Machine Learning.
Este tutorial es una traducción de “Create a classification model with Azure Machine Learning
designer”, el cual está disponible en la plataforma de Microsoft Learn:
https://docs.microsoft.com/en-us/learn/modules/create-classification-model-azure-machine-
learning-designer/
Unidad 1. Introducción
La clasificación es una forma de machine learning que se utiliza para predecir a qué categoría
o clase pertenece un elemento.
Por ejemplo, una clínica de salud podría usar los atributos de un paciente (como edad, peso,
presión arterial, etc.) para predecir si el paciente está en riesgo de diabetes. En este caso, las
propiedades del paciente son las características, y la etiqueta es una clasificación de 0 o 1, que
representa si la persona es no diabética o diabética.
La clasificación es un ejemplo de una técnica supervisada de machine learning en la que
entrenas un modelo por medio de datos, los cuales incluyen tanto las características como los
valores conocidos de la etiqueta, de modo que el modelo aprenda a ajustar las combinaciones
de características a la etiqueta. Luego, después de completar el entrenamiento, puedes usar el
modelo entrenado para predecir etiquetas en nuevos elementos para los que se desconoce este
dato.
Puede usar el diseñador de Microsoft Azure Machine Learning para crear modelos de
clasificación mediante una interfaz visual en la que arrastras y sueltas elementos, sin necesidad
de escribir ningún código (o al mínimo).
En este módulo, aprenderás a:
• Usar el diseñador de Azure Machine Learning para entrenar un modelo.
• Usar un modelo de clasificación para hacer inferencias.
• Implementar un modelo de clasificación como servicio.
Para completar este módulo, necesitas una suscripción a Microsoft Azure.
Unidad 2. Crea un workspace de Azure
Machine Learning
Azure Machine Learning es una plataforma basada en la nube que te permite crear y operar
soluciones de aprendizaje automático en Azure. Incluye una amplia gama de características y
capacidades que ayudan a los científicos de datos a preparar datos, entrenar modelos, publicar
servicios predictivos y monitorear su uso.
Una de estas características es una interfaz visual llamada diseñador, que puedes usar para
entrenar, probar e implementar modelos de machine learning sin escribir código.
Crea un workspace de Azure Machine Learning
Para usar Azure Machine Learning, crea un workspace en tu suscripción de Azure. Podrás usar
este espacio de trabajo para administrar datos, calcular recursos, códigos, modelos y otros
artefactos relacionados con cargas de trabajo de machine learning.
Si aún no tienes uno, sigue estos pasos para crear un espacio de trabajo:
1. Inicia sesión en Azure Portal con tus credenciales de Microsoft.
2. Selecciona +Crear un recurso, busca Machine Learning y crea un nuevo recurso de
Machine Learning con la siguiente configuración:
o Nombre del espacio de trabajo
o Suscripción
o Grupo de recursos
o Ubicación
o Edición Enterprise del espacio de trabajo
3. Espera a que se cree el espacio de trabajo (puede tardar unos minutos). Luego ve accede
a él en el portal.
4. En la página Descripción general de tu espacio de trabajo, inicia Azure Machine
Learning Studio (o abre una nueva pestaña del navegador y accede a
https://ml.azure.com) e inicia sesión en Azure Machine Learning Studio con tu cuenta
de Microsoft.
5. En Azure Machine Learning Studio, da clic en el ícono ☰ en la esquina superior
izquierda para ver las diferentes páginas en la interfaz, las cuales pueden usarse para
administrar los recursos en su espacio de trabajo.
Puedes administrar tu espacio de trabajo por medio del portal de Azure, pero para los científicos
de datos y los ingenieros de operaciones de Machine Learning, Azure Machine Learning Studio
proporciona una interfaz de usuario más enfocada para administrar los recursos del espacio de
trabajo.
Importante
Si tienes la intención de usar un espacio de trabajo de Azure Machine Learning con la edición
básica, actualízalo a la edición Enterprise para que la interfaz del diseñador esté disponible.
Unidad 3. Crea recursos de cómputo
Para entrenar e implementar modelos con el diseñador de Azure Machine Learning, necesitas
un procesador que ejecute las tareas de entrenamiento, prueba del modelo y alojamiento del
modelo en un servicio implementado.
Crear objetivos de cómputo
Los objetivos informáticos son recursos basados en la nube en los que puede ejecutar procesos
de entrenamiento de modelos y exploración de datos.
1. En Azure Machine Learning Studio, ve la página Compute (en Manage). Aquí es donde
administrarás los objetivos de procesamiento para tus actividades de ciencia de datos.
Hay cuatro tipos de recursos informáticos que puede crear:
• Instancias informáticas: estaciones de trabajo de desarrollo que los científicos de
datos pueden usar para trabajar con datos y modelos.
• Clústeres de cómputo: clústeres escalables de máquinas virtuales para el
procesamiento bajo demanda del código de experimento.
• Clústeres de inferencia: objetivos de implementación para servicios predictivos
que utilizan tus modelos entrenados.
• Procesamiento adjunto: enlaces a recursos informáticos de Azure existentes,
como máquinas virtuales o clústeres de Azure Databricks.
2. En la pestaña Compute Instances, agrega una nueva instancia de proceso con la
siguiente configuración. Lo usarás para probar tu modelo:
• Compute name: ingresa un nombre único
• Tipo de máquina virtual: CPU
• Tamaño de la máquina virtual: Standard_DS2_v2
3. Mientras se crea la instancia de cómputo, cambia a la pestaña Compute Clusters y agrega
un nuevo compute clúster con la siguiente configuración. Lo usarás para entrenar un
modelo de aprendizaje automático:
• Compute name: ingresa un nombre único
• Tamaño de la máquina virtual: Standard_DS2_v2
• Prioridad de máquina virtual: Dedicated
• Número mínimo de nodos: 2
• Número máximo de nodos: 2
• Segundos inactivos antes de reducir: 120
4. Mientras se crea el clúster de proceso, cambia a la pestaña Inference Clusters y agrega
un nuevo clúster con la siguiente configuración. Lo usarás para implementar tu modelo
como servicio.
• Compute name: ingresa un nombre único
• Servicio Kubernetes: Create new
• Región: selecciona una región diferente a la utilizada para el workspace
• Tamaño de la máquina virtual: Standard_DS2_v2
• Propósito del clúster: Dev-test
• Número de nodos: 2
• Configuración de red: Basic
• Habilitar configuración SSL: Unselected
5. Verifica que el clúster de inferencia esté en el estado de creación; llevará un tiempo
crearlo, así que déjalo por ahora.
Nota
En un entorno de producción, normalmente establecerías el valor mínimo de número de nodos
en 0 para que el cálculo solo se inicie cuando sea necesario. Sin embargo, el cálculo puede tardar
un tiempo en iniciarse, por lo que para reducir la cantidad de tiempo que pasa esperando en
este módulo, lo has inicializado con dos nodos en ejecución permanente.
Los objetivos de cálculo tardarán un tiempo en crearse. Puedes pasar a la siguiente actividad
mientras esperas.
Unidad 4. Explora los datos
Para entrenar un modelo de clasificación, necesitas un conjunto de datos que incluya
características históricas (características de la entidad para la que desea hacer una predicción)
y valores de etiqueta conocidos (el indicador de clase que deseas entrenar para que un modelo
lo prediga).
Crea un conjunto de datos
En Azure Machine Learning, los datos para el entrenamiento de modelos y otras operaciones
generalmente se encapsulan en un objeto llamado dataset.
1. En Azure Machine Learning studio , accede a la página Datasets. Los datasets representan
archivos de datos específicos o tablas con las que planeas trabajar en Azure ML.
2. Crea un dataset a partir de un archivo web, usando la siguiente configuración:
o Información básica:
Web URL: https://aka.ms/diabetes-data
Nombre: diabetes-data
Tipo de Dataset: Tabular
Descripción: Diabetes data
o Configuración y vista previa:
Formato de archivo: Delimited
Delimitador: Comma
Codificación: UTF-8
Encabezados de columna: Use headers from first file
Saltar registros: None
o Esquema:
Incluir todas las columnas excepto Path
Revisar los tipos automáticamente detectados
o Confirmar detalles:
Do not profile the dataset after creation
3. Una vez creado el conjunto de datos, ábrelo y vea la página Explore para ver una muestra
de los datos. Estos datos representan detalles de pacientes que han sido probados para
diabetes.
Crea un pipeline
Para comenzar con el diseñador de Azure Machine Learning, primero debes crear un pipeline
y agregar el conjunto de datos con el que deseas trabajar.
1. En Azure Machine Learning studio para tu workspace, accede a la página de Designer y
selecciona + para crear un nuevo pipeline.
2. En el panel de Settings, cambia el nombre predeterminado (Pipeline-Created-on-date)
a Diabetes Training (si el panel de Settings no es visible, da clic en el ícono ⚙ al lado
del nombre del pipeline en la parte superior).
3. Observa que necesitas especificar un cómputo de destino sobre el cual ejecutar el
pipeline. En el panel Settings, haz clic en Select compute target y elige el clúster de
cómputo aml-cluster creado previamente.
4. Del lado izquierdo del diseñador, expande la sección Datasets y arrastra el
dataset diabetes-data creado en el ejercicio anterior hacia el canvas de trabajo.
5. Selecciona el dataset diabetes-data en el canvas y observa sus propiedades (puede ser que
se abran automáticamente). En la pestaña outputs, selecciona el ícono Visualize (se
parece a una gráfica de columnas).
6. Revisa el esquema de los datos y observa que puedes ver las distribuciones de las distintas
columnas en forma de histogramas.
7. Desplázate hacia la derecha y selecciona el encabezado para la columna Diabetic, y
observa que contiene dos valores: 0 y 1. Estos valores representan las dos clases posibles
para la etiqueta que el modelo predecirá: 0 significa que el paciente no tiene diabetes,
mientras que un valor de 1 significa que el paciente es diabético.
8. Desplázate hacia la izquierda y revisa las otras columnas, que representan las
características que se utilizarán para predecir la etiqueta. Considera que la mayoría de
estas columnas son numéricas, pero cada entidad está en su propia escala. Por ejemplo,
los valores de edad varían de 21 a 77, mientras que los valores de DiabetesPedigree varían
de 0.078 a 2.3016. Al entrenar un modelo de aprendizaje automático, a veces es posible
que valores más grandes dominen la función predictiva resultante, reduciendo la
influencia de las características que en una escala más pequeña. Por lo general, los
científicos de datos mitigan este posible sesgo al normalizar las columnas numéricas para
que estén en escalas similares.
9. Cierra la ventana diabetes-data result visualization y luego cierra o cambia el tamaño del
panel de configuración con el icono X o el ícono ↗↙ para que puedas ver el conjunto de
datos en el canvas de esta manera:
Añade transformaciones
Antes de que puedas entrenar un modelo, normalmente necesitas aplicar algunas
transformaciones de preprocesamiento a los datos.
1. En el panel de la izquierda, contrae la sección Datasets si aún está expandida, y muestra
la sección Data Transformation, la cual contiene un amplio rango de módulos que puedes
utilizar para transformar tus datos antes de entrenar el modelo.
2. Arrastra un módulo Normalize Data al canvas debajo del dataset diabetes-data y luego
conecta la salida inferior del dataset diabetes-data a la entrada del módulo Normalize
Data, de la siguiente manera:
3. Selecciona el módulo Normalize Data y observa sus configuraciones, notando que
requiere que especifiques el método de transformación y las columnas que serán
transformadas.
4. Establece la transformación en MinMax y edita las columnas para que incluya las
siguientes:
o Pregnancies
o PlasmaGlucose
o DiastolicBloodPressure
o TricepsThickness
o SerumInsulin
o BMI
o DiabetesPedigree
o Age
La transformación de datos está normalizando las columnas numéricas para colocarlas en la
misma escala, lo que debería ayudar a evitar que las columnas con valores grandes dominen el
entrenamiento del modelo. Por lo general, se aplicarían demasiadas transformaciones de
preprocesamiento para preparar los datos para el entrenamiento, pero simplificaremos las cosas
en este ejercicio.
Ejecuta el pipeline
Para aplicar las transformaciones de datos, debe ejecutar el pipeline como un experimento.
1. Asegúrate de que tu pipeline se observa como la siguiente imagen:
2. Elige Submit y ejecuta el pipeline como un nuevo experimento llamado diabetes-
training en tu clúster de cómputo.
3. Espera a que finalice la ejecución – esta tarea puede tardar algunos minutos.
El dataset está preparado ahora para entrenar el modelo.
Unidad 5. Crea y ejecuta un pipeline de
entrenamiento
Después de haber utilizado las transformaciones de datos para preparar los datos, puedes usarlos
para entrenar un modelo de machine learning.
Agrega módulos de entrenamiento
Es una práctica común entrenar el modelo usando un subconjunto de datos, mientras se
retienen algunos datos para probar el modelo entrenado. Esto permite comparar las etiquetas
que predice el modelo con las etiquetas reales conocidas en el dataset original.
En este ejercicio, extenderás el pipeline Diabetes Training así:
Sigue los pasos mostrados a continuación, utilizando la imagen de arriba como referencia a
medida que agregas y configuras los módulos necesarios.
1. Abre el pipeline Diabetes Training creado con anterioridad.
2. En el panel de la izquierda, en la sección Data Transformations, arrastra un módulo Split
Data hacia el canvas debajo del módulo Normalize Data. Entonces, conecta la salida
izquierda del Dataset Transformado del módulo Normalize Data hacia la entrada del
módulo Split Data.
3. En el módulo Split Data, configura sus parámetros:
o Modo de división: Split Rows
o Fracción de filas de salida en el primer dataset: 0.7
o Semilla aleatoria: 123
o División estratificada: False
4. Expande la sección Model Training en el panel de la izquierda y arrastra un módulo Train
Model hacia el canvas debajo del módulo Split Data. Entonces, conecta el dataset1 de
Resultados (salida izquieda) del módulo Split Data al Dataset (entrada derecha) del
módulo Train Model.
5. El modelo que estamos entrenando predecirá el valor para la columna Diabetic, así que
seleccionamos el módulo Train Model y modificamos sus parámetros estableciendo Label
column en Diabetic (¡verifica que coincida el nombre!)
6. La etiqueta Diabetic que el modelo predecirá es una clase (0 or 1), así que necesitamos
entrenar al modelo utilizando un algoritmo de clasificación. Dado que solo hay dos
posibles clases, utilizaremos un algoritmo de clasificación binaria. Expande la sección
Machine Learning Algorithms, y bajo Classification, arrastra un módulo Two-Class
Logistic Regression al canvas, colocándolo a la izquierda del modulo Split Data y arriba
del módulo Train Model. Entonces, conecta su salida a la entrada Untrained
model (izquierda) del módulo Train Model.
Nota
Existen múltiples algoritmos que puedes usar para entrenar un modelo de clasificación. Para
obtener ayuda para elegir uno, echa un vistazo a la Machine Learning Algorithm Cheat Sheet
for Azure Machine Learning designer.
7. Para probar el modelo entrenado, debemos usarlo para calificar el conjunto de datos de
validación que está en espera al haber dividido los datos originales; en otras palabras,
predecir etiquetas para las características en el conjunto de datos de validación. Expande
la sección Model Scoring & Evaluation y arrastra un módulo Score Model al canvas,
debajo del módulo Train Model. Entonces, conecta la salida del módulo Train Model a la
entrada Trained model (izquierda) del módulo Score Model; y conecta la salida Results
dataset2 (derecha) del módulo Split Data a la entrada Dataset (derecha) del módulo Score
Model.
8. Asegúrate de que tu pipeline se parece a la siguiente imagen:
Ejecuta el pipeline de entrenamiento
Ahora estás listo para ejecutar el pipeline de entrenamiento y entrenar al modelo.
1. Elige Submit, y ejecuta el pipeline utilizando el experimento diabetes-training.
2. Espera a que el experimento finalice su ejecución. Puede tomar 5 minutos o más.
3. Cuando el experimento finaliza su ejecución, selecciona el módulo Score Model y en el
panel de configuración, en la pestaña Outputs + Logs, debajo de Data outputs en la
sección Scored dataset, utiliza el ícono Visualize para observar los resultados.
4. Desplázate a la derecha, y observa que al lado de la columna Diabetic (la cual contiene
los valores conocidos de la etiqueta) hay una nueva columns titulada Scored Labels, la
cual contiene los valores predichos de la etiqueta, y la columna Scored
Probabilities contienen valores de probabilidad entre 0 y 1. Esto indica la probabilidad
de una predicción positiva, así que probabilidades mayores a 0.5 resultan en un valor
predicho de 1 (diabético), mientras que probabilidades entre 0 y 0.5 resultan en una
etiqueta predicha de 0 (no diabético).
5. Cierra la ventana Score Model result visualization.
El modelo predice valores para la etiqueta Diabetic, pero ¿qué tan confiables son sus
predicciones? Para evaluar eso, debe evaluar el modelo.
Unidad 6. Evalúa un modelo de clasificación
Los datos de validación retenidos y utilizados para calificar el modelo incluyen los valores
conocidos para la etiqueta. Por tanto, para validar el modelo se puede comparar los valores
verdaderos de la etiqueta con los valores predichos (misma etiqueta) al calificar el conjunto de
datos de validación. Según esta comparación, puedes calcular varias métricas que describen qué
tan bien funciona el modelo.
Agrega un módulo Evaluate Model
1. Abre el pipeline Diabetes Training creado en la entrada anterior.
2. En el panel de la izquierda, en la sección Model Scoring & Evaluation, arrastra un
módulo Evaluate Model al canvas, bajo el módulo Score Model, y conecta la salida del
módulo Score Model a la entrada izquierda Scored dataset del módulo Evaluate Model.
3. Asegúrate de que tu pipeline es similar al mostrado en la figura:
4. Selecciona Submit y ejecuta el pipeline del experimento diabetes-training.
5. Espera a que termine la ejecución del experimento.
6. Cuando finalice la ejecución del experimento, seleccione el módulo Evaluate Model y en
el panel de configuración, en la pestaña Outputs + Logs, bajo Data outputs en la sección
Evaluation results, usa el ícono Visualize para ver las métricas de rendimiento. Estas
métricas pueden ayudar a los científicos de datos a evaluar qué tan bien predice el modelo
en función de los datos de validación.
7. Echa un vistazo a la matriz de confusión para el modelo, que es una tabulación de los
recuentos de valores predichos y reales para cada clase posible. Para un modelo de
clasificación binaria como este, en el que está prediciendo uno de los dos valores posibles,
la matriz de confusión es una cuadrícula de 2x2 que muestra los recuentos de valores
predichos y reales para las clases 0 y 1, similar a esto:
La matriz de confusión muestra casos en los que los valores predichos y reales fueron 1
(conocidos como true positives) en la parte superior izquierda, y casos en los que los valores
predichos y reales fueron 0 (true negatives) en la parte inferior derecha. Las otras celdas
muestran casos en los que los valores predichos y reales difieren (false positives y false
negatives).
Las celdas en la matriz se colorean de modo que cuantos más casos se representan en la celda,
más intenso es el color, con el resultado de que puede identificar un modelo que predice con
precisión para todas las clases al buscar una línea diagonal de celdas de colores intensos arriba
a la izquierda a la derecha abajo (en otras palabras, las celdas donde los valores predichos
coinciden con los valores reales).
Para un modelo de clasificación de múltiples clases (donde hay más de dos clases posibles), se
utiliza el mismo enfoque para tabular cada combinación posible de recuentos de valores reales
y pronosticados, por lo que un modelo con tres clases posibles daría como resultado una matriz
de 3x3 con un línea diagonal de celdas donde coinciden las etiquetas predichas y reales.
8. Revisa las métricas a la izquierda de la matriz de confusión, que incluyen:
o Accuracy (exactitud): la proporción de predicciones correctas (true positives + true
negatives) con respecto al número total de predicciones. En otras palabras, ¿qué
proporción de predicciones de diabetes acertó el modelo?
o Precision: la fracción de casos positivos identificados correctamente (el número de
true positives dividido por el número de true positives más false positives). En otras
palabras, de todos los pacientes que el modelo predijo que tenían diabetes, ¿cuántos
son realmente diabéticos?
o Recall: la fracción de los casos clasificados como positivos que en realidad son
positivos (el número de true positives dividido por el número de true positives más
false negatives). En otras palabras, de todos los pacientes que realmente tienen
diabetes, ¿cuántos identificó el modelo?
o F1 Score: una métrica general que esencialmente combina precisión y recall.
o AUC.
De estas métricas, accuracy es la más intuitiva. Sin embargo, debes tener cuidado al
utilizar solo accuracy como medida de qué tan bien funciona un modelo. Supongamos
que solo el 3% de la población es diabética. Podrías crear un modelo que siempre prediga
0 y sería 97% preciso, ¡pero no muy útil! Por esta razón, la mayoría de los científicos de
datos utilizan otras métricas como precisión y recall para evaluar el rendimiento del
modelo de clasificación.
9. Encima de la lista de métricas, hay un control deslizante Umbral (Threshold). Recuerda
que lo que predice un modelo de clasificación es la probabilidad de cada clase posible. En
el caso de este modelo de clasificación binaria, la probabilidad pronosticada para una
predicción positiva (diabética) es un valor entre 0 y 1.
Por defecto, una probabilidad pronosticada de diabetes por encima de 0.5 significa una
predicción de clase de 1, mientras que una predicción por debajo de este umbral implica
que hay una mayor probabilidad de que el paciente no tenga diabetes (las probabilidades
para todas las clases suman 1), por lo que la clase predicha sería 0.
Intenta mover el control deslizante del umbral y observa el efecto sobre la matriz de
confusión. Si lo mueves completamente hacia la izquierda (0), la métrica Recall se
convierte en 1, y si la mueve completamente hacia la derecha (1), la métrica Recall se
convierte en 0.
10. Encima del control de Umbral se encuentra la curva ROC (ROC significa característica
del operador recibido, pero la mayoría de los científicos de datos simplemente lo llaman
curva ROC).
Otro término para recordar es True positive rate, y tiene una métrica correspondiente
llamada False positive rate, que mide el número de casos negativos incorrectamente
identificados como positivos en comparación con el número de casos negativos reales.
Al graficar estas métricas entre sí para cada valor umbral posible entre 0 y 1 se obtiene
una curva. En un modelo ideal, la curva iría hasta el lado izquierdo y hacia la parte
superior, de modo que cubra el área completa del gráfico. Cuanto mayor sea el área
debajo de la curva (que puede ser cualquier valor de 0 a 1), mejor será el rendimiento
del modelo: esta es la métrica de AUC enumerada con las otras métricas.
Para tener una idea de cómo esta área representa el rendimiento del modelo, imagine
una línea diagonal recta desde la parte inferior izquierda a la parte superior derecha del
gráfico ROC. Esto representa el rendimiento esperado si acaba de adivinar o lanzar una
moneda por cada paciente; puede esperar obtener aproximadamente la mitad de ellos
correctamente y la otra mitad incorrectos, por lo que el área debajo de la línea diagonal
representa un AUC de 0.5. Si el AUC para su modelo es más alto que esto para un modelo
de clasificación binaria, entonces el modelo funciona mejor que una suposición
aleatoria.
11. Cierra la ventana de visualización de resultados de Evaluate model.
El rendimiento de este modelo no es tan bueno, en parte porque solo realizamos una ingeniería
mínima de características y preprocesamiento. Podrías probar un algoritmo de clasificación
diferente, como el Two-Class Decision Forest, y comparar los resultados.
Puedes, por ejemplo, conectar las salidas del módulo Split Data a múltiples módulos Train
Model y Score Model, y luego conectar un segundo módulo Score Model al módulo Evaluate
Model para ver una comparación entre modelos.
El objetivo de este ejercicio es simplemente que conozcas la clasificación y la interfaz del
diseñador de Azure Machine Learning.
Unidad 7. Crea un pipeline de inferencia
Después de crear y ejecutar un pipeline para entrenar el modelo, necesitas un segundo pipeline
que realice las mismas transformaciones de datos para los nuevos datos, y luego use el modelo
entrenado para inferir (predecir) valores de etiquetas en función de sus características. Esta
canalización formará la base de un servicio predictivo que puede publicar para que las
aplicaciones lo utilicen.
Crea un pipeline de inferencia
1. En Azure Machine Learning Studio, haz clic en la página Designer para ver todos los
pipelines que has generado. Entonces, abre el pipeline Diabetes Training creado
previamente.
2. En la lista Create inference pipeline, haz clic en Real-time inference pipeline. Después
de unos segundos, una nueva version de tu pipeline llamado Diabetes Training-real time
inference se abrirá.
3. Renombra el nuevo pipeline a Predict Diabetes, y entonces revisa el nuevo pipeline.
Contiene una entrada de servicio web (web service input) para enviar nuevos datos y una
salida de servicio web (web service output) para devolver resultados. Algunas de las
transformaciones y pasos de entrenamiento se han encapsulado en este pipeline para que
las estadísticas de sus datos de entrenamiento se usen para normalizar los valores de datos
nuevos, y el modelo entrenado se usará para calificar los nuevos datos..
Nota
Si el nuevo pipeline no contiene módulos de entrada y salida de servicio web, regresa a la
página Designer y luego vuelve a abrir el nuevo pipeline de inferencia.
Realizará los siguientes cambios en el pipeline de inferencia:
• Reemplaza el dataset diabetes-data con un módulo Enter Data Manually que no incluya
la columna de etiqueta (Diabetic).
• Remueve el módulo Evaluate Model.
• Inserta un módulo Execute Python Script antes de la salida del web service que devuelva
solo el ID del paciente, el valor de la columna de predicción y la probabilidad.
Siga los pasos restantes a continuación, utilizando la imagen y la información de arriba como
referencia mientras modificas el pipeline.
4. El pipeline de inferencia supone que los nuevos datos coincidirán con el esquema de los
datos de entrenamiento originales, por lo que se incluye el dataset diabetes-data del
pipeline de entrenamiento. Sin embargo, estos datos de entrada también incluyen la
etiqueta Diabetic que predice el modelo, lo cual no es intuitivo incluir en los datos de
nuevos pacientes para los que aún no se ha realizado una predicción de diabetes. Elimina
este módulo y reemplázalo con un módulo Enter Data Manually de la sección Data Input
and Output, que debe contener los siguientes datos CSV, que incluyen valores de
características sin etiquetas para tres nuevas observaciones de pacientes:
PatientID,Pregnancies,PlasmaGlucose,DiastolicBloodPressure,TricepsThickness,Ser
umInsulin,BMI,DiabetesPedigree,Age
1882185,9,104,51,7,24,27.36983156,1.350472047,43
1662484,6,73,61,35,24,18.74367404,1.074147566,75
1228510,4,115,50,29,243,34.69215364,0.741159926,59
5. Conecta el nuevo módulo Enter Data Manually a la misma entrada Dataset del
módulo Apply Transformation que el módulo Web Service Input.
6. El pipeline de inferencia incluye el módulo Evaluate Model, el cual no es útil al momento
de predecir nuevos datos, por lo que hay que removerlo.
7. La salida del módulo Score Model incluye todas las caraterísticas de entrada así como la
etiqueta de predicción y el score de probabilidad. Para limitar la salida solo a la predicción
y probabilidad:
o Elimina la conexión entre los módulos Score Model y Web Service Output.
o Agrega un módulo Execute Python Script de la sección Python Language,
reemplazando el código Python que aparece por defecto con el siguiente código (el
cual simplemente selecciona las columnas PatientID, Scored Labels y Scored
Probabilities, y además las renombra adecuadamente):
import pandas as pd
def azureml_main(dataframe1 = None, dataframe2 = None):
scored_results = dataframe1[['PatientID', 'Scored Labels', 'Scored
Probabilities']]
scored_results.rename(columns={'Scored Labels':'DiabetesPrediction',
'Scored Probabilities':'Probability'},
inplace=True)
return scored_results
o Connect the output from the Score Model module to the Dataset1 (left-most) input
of the Execute Python Script, and connect the output of the Execute Python
Script module to the Web Service Output.
8. Verifica que tu pipeline tenga un aspecto similar al mostrado:
9. Ejecuta el pipeline como un nuevo experimento llamado predict-diabetes en tu clúster
de cómputo. ¡Esto puede tardar un rato!
10. Cuando finalice el pipeline, selecciona el módulo Execute Python Script y, en el panel
de configuración, en la pestaña Output + Logs, visualiza el Result dataset para ver las
etiquetas y probabilidades predichas para las tres observaciones del paciente en los datos
de entrada
Tu pipeline de inferencia predice si los pacientes están o no en riesgo de diabetes según sus
características. Ahora está listo para publicar el pipeline para que las aplicaciones cliente
puedan usarla.
Unidad 8. Implementa un servicio de
predicción
Una vez que hayas creado y probado un pipeline de inferencia para predicción en tiempo real,
puedes publicarla como un servicio para que las aplicaciones cliente las utilicen.
Para publicar un pipeline de inferencia en tiempo real como servicio, debes implementarla en
un clúster de Azure Kubernetes Service (AKS). En este ejercicio, utilizarás el clúster de
inferencia AKS que creaste anteriormente.
Implementa un servicio
1. Ve el pipeline de inferencia Predict Diabetes que creaste.
2. En la esquina superior derecha, selecciona Deploy y configura un nuevo endpoint en
tiempo real denominado predict-diabetes en el clúster de inferencia creado
anteriormente.
3. Espera a que se implemente el servicio web; esto puede llevar varios minutos. El estado
de implementación se muestra en la esquina superior izquierda de la interfaz del
diseñador.
Prueba el servicio
Ahora puedes probar tu servicio implementado desde una aplicación cliente; en este caso,
usarás el código de la celda mostrada a continuación para simular una aplicación cliente.
1. En la página Endpoints, abre el endpoint en tiempo real predict-diabetes.
2. Cuando se abra el endpoint predict-diabetes, ve la pestaña Consume y observa la
información siguiente, la cual necesitarás para realizar la conexión a tu servicio
implementado desde una aplicación cliente.
o El endpoint REST para tu servicio.
o La Primary Key de tu servicio
3. Puedes copiarlos usando el botón ⧉ al lado de estos valores.
4. Abre una nueva pestaña de navegador así como una segunda instancia de Azure Machine
Learning studio. Entonces, en la nueva pestaña, visita la página Notebooks.
5. En la página Notebooks, crea un nuevo archivo con la siguiente configuración:
o Nombre de archivo: diabetes_test.ipynb
o Tipo de archivo: Notebook
o Sobreescribir si existe: Selected
o Selecciona el directorio de destino: Elige el folder de tu nombre de usuario bajo
User files
6. Cuando se haya creado el nuevo notebook, asegúrate de que la instancia de proceso
creada anteriormente esté seleccionada en la caja Compute y que tenga el estado
Running.
7. Edita el notebook directamente, y en la celda que ha sido creada pega el siguiente código:
endpoint = 'YOUR_ENDPOINT' #Replace with your endpoint
key = 'YOUR_KEY' #Replace with your key
import urllib.request
import json
import os
data = {
"Inputs": {
"WebServiceInput0":
[
{
'PatientID': 1882185,
'Pregnancies': 9,
'PlasmaGlucose': 104,
'DiastolicBloodPressure': 51,
'TricepsThickness': 7,
'SerumInsulin': 24,
'BMI': 27.36983156,
'DiabetesPedigree': 1.3504720469999998,
'Age': 43,
},
],
},
"GlobalParameters": {
}
}
body = str.encode(json.dumps(data))
headers = {'Content-Type':'application/json', 'Authorization':('Bearer '+ key)}
req = urllib.request.Request(endpoint, body, headers)
try:
response = urllib.request.urlopen(req)
result = response.read()
json_result = json.loads(result)
output = json_result["Results"]["WebServiceOutput0"][0]
print('Patient: {}nPrediction: {}nProbability:
{:.2f}'.format(output["PatientID"],
output["DiabetesPrediction"],
output["Probability"]))
except urllib.error.HTTPError as error:
print("The request failed with status code: " + str(error.code))
# Print the headers to help debug
print(error.info())
print(json.loads(error.read().decode("utf8", 'ignore')))
Nota
El código simplemente define los valores de las propiedades de un paciente, y utiliza el
servicio predict-diabetes recién creado para predecir un diagnóstico de diabetes.
8. Cambia a la pestaña del navegador que contiene la página Consume para el servicio
predict-diabetes y copie el endpoint REST de su servicio. Vuelve a la pestaña que
contiene el notebook y pega la clave en el código, reemplazando YOUR_ENDPOINT.
9. Repite el mismo proceso para copiar la Primary Key de tu service y reemplazar
YOUR_KEY por dicho valor.
10. Guarda el notebook. Entonces utiliza el botón ▷ que aparece al lado de la celda para
ejecutar el código.
11. Verifica que un diagnóstico de diabetes es devuelto.
Unidad 9. Verificación de conocimiento
1. Estás utilizando Azure Machine Learning Designer para crear un pipeline de entrenamiento
para un modelo de clasificación binaria. Has agregado un dataset que contiene características
y etiquetas, un módulo Two-Class Decision Forest y un módulo Training Model. Planeas usar
los módulos Score Model y Evaluation Model para probar el modelo entrenado con un
subconjunto del dataset que no se usó al inicio para el entrenamiento. ¿Qué tipo de módulo
adicional debe agregar?
A. Join Data
B. Split Data
C. Select Columns in Dataset
2. Utilizas un pipeline del Azure Machine Learning designer para entrenar y probar un modelo
de clasificación binaria. Revisas las métricas de rendimiento del modelo por medio del módulo
Evaluate model y observas que tiene un puntaje AUC de 0.3. ¿Qué puedes concluir sobre el
modelo?
A. El modelo puede explicar el 30% de la varianza entre etiquetas reales y las predichas.
B. El modelo predice con precisión el 70% de los casos de prueba.
C. El modelo funciona peor que adivinar al azar.
3. Usas Azure Machine Learning designer para crear un pipeline de entrenamiento para un
modelo de clasificación. ¿Qué debes hacer antes de implementar el modelo como servicio?
A. Crear una tubería de inferencia a partir del pipeline de entrenamiento
B. Agregar un módulo Evaluate model al pipeline de entrenamiento
C. Clonar el pipeline de entrenamiento con un nombre diferente
Unidad 10. Resumen
En este módulo, aprendiste a usar Azure Machine Learning designer para entrenar y publicar
un modelo de clasificación.
Restablecer recursos
El servicio web que creó está alojado en un clúster de Azure Kubernetes. Si no tienes intención
de experimentar más, debes eliminar el endpoint y el clúster para evitar que se acumulen cargos
innecesarios de Azure. También debes detener la instancia de cómputo hasta que la necesites
nuevamente.
Si has terminado de explorar Azure Machine Learning, puede eliminar el grupo de recursos
que contiene su espacio de trabajo de Azure Machine Learning de su suscripción de Azure:
1. En Azure Portal, en la página Grupos de recursos, abra el grupo de recursos que especificó
al crear su espacio de trabajo de Azure Machine Learning.
2. Haga clic en Eliminar grupo de recursos, escriba el nombre del grupo de recursos para
confirmar que desea eliminarlo y seleccione Eliminar.
1. En Azure Machine Learning Studio, en la pestaña Endpoints, elige el endpoint predict-
diabetes. Entonces, elige Delete (🗑) y confirma que deseas removerlo.
2. En la página Compute, en la pestaña Compute Instances, selecciona tu instancia de
cómputo y elige Stop.
3. En la página Compute, en la pestaña Compute clusters, abre tu clúster de your cómputo
y elige Edit. Entonces, establece la configuración Minimum number of nodes en 0 y
selecciona Update.
4. En la página Compute, en la pestaña Inference clusters, selecciona tu clúster de inferencia
y elige Delete, confirmando que deseas removerlo.
Si has terminado de explorer el servicio de Azure Machine Learning, puedes eliminar el grupo
de recursos que contiene tu Azure Machine Learning workspace en la suscripción de Azure:
1. En el Azure portal, dentro de la página Resource groups, abre el grupo de recursos que
especificaste al momento de crear el espacio de trabajo (workspace) de Azure Machine
Learning.
2. Haz clic en Delete resource group, escribe el nombre del grupo de recurso para confirmar
la operación y haz clic en Delete.

Más contenido relacionado

La actualidad más candente

Redis and Groovy and Grails - gr8conf 2011
Redis and Groovy and Grails - gr8conf 2011Redis and Groovy and Grails - gr8conf 2011
Redis and Groovy and Grails - gr8conf 2011Ted Naleid
 
The MySQL Query Optimizer Explained Through Optimizer Trace
The MySQL Query Optimizer Explained Through Optimizer TraceThe MySQL Query Optimizer Explained Through Optimizer Trace
The MySQL Query Optimizer Explained Through Optimizer Traceoysteing
 
Trusts You Might Have Missed
Trusts You Might Have MissedTrusts You Might Have Missed
Trusts You Might Have MissedWill Schroeder
 
COMO CREAR UNA BASE DE DATOS EN XAMPP
COMO CREAR UNA BASE DE DATOS EN XAMPPCOMO CREAR UNA BASE DE DATOS EN XAMPP
COMO CREAR UNA BASE DE DATOS EN XAMPPdisenarUniminuto
 
A Comparative Study between RSA and MD5 algorithms
A Comparative Study between RSA and MD5 algorithms A Comparative Study between RSA and MD5 algorithms
A Comparative Study between RSA and MD5 algorithms Er Piyush Gupta IN ⊞⌘
 
The consequences of sync_binlog != 1
The consequences of sync_binlog != 1The consequences of sync_binlog != 1
The consequences of sync_binlog != 1Jean-François Gagné
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlabBilawalBaloch1
 
Jose Miguel Holguin & Marc Salinas - Taller de análisis de memoria RAM en sis...
Jose Miguel Holguin & Marc Salinas - Taller de análisis de memoria RAM en sis...Jose Miguel Holguin & Marc Salinas - Taller de análisis de memoria RAM en sis...
Jose Miguel Holguin & Marc Salinas - Taller de análisis de memoria RAM en sis...RootedCON
 
Optimizing queries MySQL
Optimizing queries MySQLOptimizing queries MySQL
Optimizing queries MySQLGeorgi Sotirov
 
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...Jean-François Gagné
 
Base de datos: Algebra relacional
Base de datos: Algebra relacionalBase de datos: Algebra relacional
Base de datos: Algebra relacionalkamui002
 
Ejercicios de Dinámica: Coordenadas rectangulares, coordenadas polares - Part...
Ejercicios de Dinámica: Coordenadas rectangulares, coordenadas polares - Part...Ejercicios de Dinámica: Coordenadas rectangulares, coordenadas polares - Part...
Ejercicios de Dinámica: Coordenadas rectangulares, coordenadas polares - Part...Emanuel Perales
 

La actualidad más candente (12)

Redis and Groovy and Grails - gr8conf 2011
Redis and Groovy and Grails - gr8conf 2011Redis and Groovy and Grails - gr8conf 2011
Redis and Groovy and Grails - gr8conf 2011
 
The MySQL Query Optimizer Explained Through Optimizer Trace
The MySQL Query Optimizer Explained Through Optimizer TraceThe MySQL Query Optimizer Explained Through Optimizer Trace
The MySQL Query Optimizer Explained Through Optimizer Trace
 
Trusts You Might Have Missed
Trusts You Might Have MissedTrusts You Might Have Missed
Trusts You Might Have Missed
 
COMO CREAR UNA BASE DE DATOS EN XAMPP
COMO CREAR UNA BASE DE DATOS EN XAMPPCOMO CREAR UNA BASE DE DATOS EN XAMPP
COMO CREAR UNA BASE DE DATOS EN XAMPP
 
A Comparative Study between RSA and MD5 algorithms
A Comparative Study between RSA and MD5 algorithms A Comparative Study between RSA and MD5 algorithms
A Comparative Study between RSA and MD5 algorithms
 
The consequences of sync_binlog != 1
The consequences of sync_binlog != 1The consequences of sync_binlog != 1
The consequences of sync_binlog != 1
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlab
 
Jose Miguel Holguin & Marc Salinas - Taller de análisis de memoria RAM en sis...
Jose Miguel Holguin & Marc Salinas - Taller de análisis de memoria RAM en sis...Jose Miguel Holguin & Marc Salinas - Taller de análisis de memoria RAM en sis...
Jose Miguel Holguin & Marc Salinas - Taller de análisis de memoria RAM en sis...
 
Optimizing queries MySQL
Optimizing queries MySQLOptimizing queries MySQL
Optimizing queries MySQL
 
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
 
Base de datos: Algebra relacional
Base de datos: Algebra relacionalBase de datos: Algebra relacional
Base de datos: Algebra relacional
 
Ejercicios de Dinámica: Coordenadas rectangulares, coordenadas polares - Part...
Ejercicios de Dinámica: Coordenadas rectangulares, coordenadas polares - Part...Ejercicios de Dinámica: Coordenadas rectangulares, coordenadas polares - Part...
Ejercicios de Dinámica: Coordenadas rectangulares, coordenadas polares - Part...
 

Similar a Tutorial - Crea un modelo de clasificación con Azure Machine Learning designer

Que es Azure Machine Learning 2015
Que es Azure Machine Learning 2015Que es Azure Machine Learning 2015
Que es Azure Machine Learning 2015Eduardo Castro
 
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...Luis775803
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010Omar Rios
 
Azure Machine Learning
Azure Machine Learning Azure Machine Learning
Azure Machine Learning nnakasone
 
Presentación de Minería de Datos_ Adventure Works
Presentación de Minería de Datos_ Adventure WorksPresentación de Minería de Datos_ Adventure Works
Presentación de Minería de Datos_ Adventure WorksGustavo Rene Rojas Valdez
 
Súbete a la nube de Microsoft (4/4) - Diseño y herramientas
Súbete a la nube de Microsoft (4/4) - Diseño y herramientasSúbete a la nube de Microsoft (4/4) - Diseño y herramientas
Súbete a la nube de Microsoft (4/4) - Diseño y herramientasEnrique Ramos Ortiz
 
Parte I. Notas Rapidas (sticky notes) App w8: MVVM y SQLite
Parte I. Notas Rapidas (sticky notes) App w8: MVVM y SQLiteParte I. Notas Rapidas (sticky notes) App w8: MVVM y SQLite
Parte I. Notas Rapidas (sticky notes) App w8: MVVM y SQLiteJuan Manuel
 
Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016Carlos Landeras Martínez
 
ARQUITECTURA LÓGICA DEL SISTEMA DE INFORMACIÓN
ARQUITECTURA LÓGICA DEL SISTEMA DE INFORMACIÓNARQUITECTURA LÓGICA DEL SISTEMA DE INFORMACIÓN
ARQUITECTURA LÓGICA DEL SISTEMA DE INFORMACIÓNalejo maya
 
Creación y eliminación de tablas desde el table storage
Creación y eliminación de tablas desde el table storage  Creación y eliminación de tablas desde el table storage
Creación y eliminación de tablas desde el table storage Víctor Moreno
 
Agregando y actualizando entidades desde el table storage
Agregando y actualizando entidades desde el table storage Agregando y actualizando entidades desde el table storage
Agregando y actualizando entidades desde el table storage Víctor Moreno
 
Minería datos con SQL Server 2012
Minería datos con SQL Server 2012Minería datos con SQL Server 2012
Minería datos con SQL Server 2012Eduardo Castro
 
Computación 3 sb04003 2013
Computación 3 sb04003 2013Computación 3 sb04003 2013
Computación 3 sb04003 2013Maestros Online
 
Bases de datos SQL Azure en Microsoft Azure con C#
Bases de datos SQL Azure en Microsoft Azure con C#Bases de datos SQL Azure en Microsoft Azure con C#
Bases de datos SQL Azure en Microsoft Azure con C#Víctor Moreno
 
Automatizando con azure power shell
Automatizando con azure power shellAutomatizando con azure power shell
Automatizando con azure power shellVíctor Moreno
 
PPT SESION 11.pdf
PPT SESION 11.pdfPPT SESION 11.pdf
PPT SESION 11.pdfNinaLagos1
 

Similar a Tutorial - Crea un modelo de clasificación con Azure Machine Learning designer (20)

Que es Azure Machine Learning 2015
Que es Azure Machine Learning 2015Que es Azure Machine Learning 2015
Que es Azure Machine Learning 2015
 
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
 
Dce2 ejercicios asp.net
Dce2 ejercicios asp.netDce2 ejercicios asp.net
Dce2 ejercicios asp.net
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
 
Azure Machine Learning
Azure Machine Learning Azure Machine Learning
Azure Machine Learning
 
Presentación de Minería de Datos_ Adventure Works
Presentación de Minería de Datos_ Adventure WorksPresentación de Minería de Datos_ Adventure Works
Presentación de Minería de Datos_ Adventure Works
 
Mineria de datos
Mineria de datosMineria de datos
Mineria de datos
 
Súbete a la nube de Microsoft (4/4) - Diseño y herramientas
Súbete a la nube de Microsoft (4/4) - Diseño y herramientasSúbete a la nube de Microsoft (4/4) - Diseño y herramientas
Súbete a la nube de Microsoft (4/4) - Diseño y herramientas
 
Parte I. Notas Rapidas (sticky notes) App w8: MVVM y SQLite
Parte I. Notas Rapidas (sticky notes) App w8: MVVM y SQLiteParte I. Notas Rapidas (sticky notes) App w8: MVVM y SQLite
Parte I. Notas Rapidas (sticky notes) App w8: MVVM y SQLite
 
Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016
 
ARQUITECTURA LÓGICA DEL SISTEMA DE INFORMACIÓN
ARQUITECTURA LÓGICA DEL SISTEMA DE INFORMACIÓNARQUITECTURA LÓGICA DEL SISTEMA DE INFORMACIÓN
ARQUITECTURA LÓGICA DEL SISTEMA DE INFORMACIÓN
 
Creación y eliminación de tablas desde el table storage
Creación y eliminación de tablas desde el table storage  Creación y eliminación de tablas desde el table storage
Creación y eliminación de tablas desde el table storage
 
Cuestionario
Cuestionario Cuestionario
Cuestionario
 
Agregando y actualizando entidades desde el table storage
Agregando y actualizando entidades desde el table storage Agregando y actualizando entidades desde el table storage
Agregando y actualizando entidades desde el table storage
 
Minería datos con SQL Server 2012
Minería datos con SQL Server 2012Minería datos con SQL Server 2012
Minería datos con SQL Server 2012
 
Computación 3 sb04003 2013
Computación 3 sb04003 2013Computación 3 sb04003 2013
Computación 3 sb04003 2013
 
Crear y programar un proyecto nuevo
Crear y programar un proyecto nuevoCrear y programar un proyecto nuevo
Crear y programar un proyecto nuevo
 
Bases de datos SQL Azure en Microsoft Azure con C#
Bases de datos SQL Azure en Microsoft Azure con C#Bases de datos SQL Azure en Microsoft Azure con C#
Bases de datos SQL Azure en Microsoft Azure con C#
 
Automatizando con azure power shell
Automatizando con azure power shellAutomatizando con azure power shell
Automatizando con azure power shell
 
PPT SESION 11.pdf
PPT SESION 11.pdfPPT SESION 11.pdf
PPT SESION 11.pdf
 

Más de Luis Beltran

AI for Accessibility.pptx
AI for Accessibility.pptxAI for Accessibility.pptx
AI for Accessibility.pptxLuis Beltran
 
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptxNET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptxLuis Beltran
 
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptxLuis Beltran
 
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...Luis Beltran
 
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfCEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfLuis Beltran
 
Computo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptxComputo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptxLuis Beltran
 
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptxLuis Beltran
 
ACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptxACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptxLuis Beltran
 
UNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxUNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxLuis Beltran
 
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...Luis Beltran
 
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptxLatino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptxLuis Beltran
 
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptxNOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptxLuis Beltran
 
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Luis Beltran
 
ATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptxATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptxLuis Beltran
 
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...Luis Beltran
 
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...Luis Beltran
 
Real NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptxReal NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptxLuis Beltran
 
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptxSesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptxLuis Beltran
 
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...Luis Beltran
 
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptxLatam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptxLuis Beltran
 

Más de Luis Beltran (20)

AI for Accessibility.pptx
AI for Accessibility.pptxAI for Accessibility.pptx
AI for Accessibility.pptx
 
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptxNET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
 
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
 
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
 
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfCEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
 
Computo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptxComputo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptx
 
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
 
ACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptxACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptx
 
UNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxUNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptx
 
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
 
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptxLatino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
 
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptxNOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
 
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
 
ATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptxATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptx
 
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
 
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
 
Real NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptxReal NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptx
 
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptxSesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
 
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
 
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptxLatam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
 

Último

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 

Último (20)

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 

Tutorial - Crea un modelo de clasificación con Azure Machine Learning designer

  • 1. Crea un modelo de clasificación con Azure Machine Learning designer La clasificación es una técnica supervisada de machine learning utilizada para predecir categorías o clases. En este módulo aprenderás a crear, entrenar y publicar modelos de clasificación con el diseñador de Azure Machine Learning. Este tutorial es una traducción de “Create a classification model with Azure Machine Learning designer”, el cual está disponible en la plataforma de Microsoft Learn: https://docs.microsoft.com/en-us/learn/modules/create-classification-model-azure-machine- learning-designer/
  • 2. Unidad 1. Introducción La clasificación es una forma de machine learning que se utiliza para predecir a qué categoría o clase pertenece un elemento. Por ejemplo, una clínica de salud podría usar los atributos de un paciente (como edad, peso, presión arterial, etc.) para predecir si el paciente está en riesgo de diabetes. En este caso, las propiedades del paciente son las características, y la etiqueta es una clasificación de 0 o 1, que representa si la persona es no diabética o diabética. La clasificación es un ejemplo de una técnica supervisada de machine learning en la que entrenas un modelo por medio de datos, los cuales incluyen tanto las características como los valores conocidos de la etiqueta, de modo que el modelo aprenda a ajustar las combinaciones de características a la etiqueta. Luego, después de completar el entrenamiento, puedes usar el modelo entrenado para predecir etiquetas en nuevos elementos para los que se desconoce este dato. Puede usar el diseñador de Microsoft Azure Machine Learning para crear modelos de clasificación mediante una interfaz visual en la que arrastras y sueltas elementos, sin necesidad de escribir ningún código (o al mínimo). En este módulo, aprenderás a: • Usar el diseñador de Azure Machine Learning para entrenar un modelo. • Usar un modelo de clasificación para hacer inferencias. • Implementar un modelo de clasificación como servicio.
  • 3. Para completar este módulo, necesitas una suscripción a Microsoft Azure.
  • 4. Unidad 2. Crea un workspace de Azure Machine Learning Azure Machine Learning es una plataforma basada en la nube que te permite crear y operar soluciones de aprendizaje automático en Azure. Incluye una amplia gama de características y capacidades que ayudan a los científicos de datos a preparar datos, entrenar modelos, publicar servicios predictivos y monitorear su uso. Una de estas características es una interfaz visual llamada diseñador, que puedes usar para entrenar, probar e implementar modelos de machine learning sin escribir código. Crea un workspace de Azure Machine Learning Para usar Azure Machine Learning, crea un workspace en tu suscripción de Azure. Podrás usar este espacio de trabajo para administrar datos, calcular recursos, códigos, modelos y otros artefactos relacionados con cargas de trabajo de machine learning. Si aún no tienes uno, sigue estos pasos para crear un espacio de trabajo: 1. Inicia sesión en Azure Portal con tus credenciales de Microsoft. 2. Selecciona +Crear un recurso, busca Machine Learning y crea un nuevo recurso de Machine Learning con la siguiente configuración: o Nombre del espacio de trabajo o Suscripción o Grupo de recursos o Ubicación o Edición Enterprise del espacio de trabajo 3. Espera a que se cree el espacio de trabajo (puede tardar unos minutos). Luego ve accede a él en el portal. 4. En la página Descripción general de tu espacio de trabajo, inicia Azure Machine Learning Studio (o abre una nueva pestaña del navegador y accede a https://ml.azure.com) e inicia sesión en Azure Machine Learning Studio con tu cuenta de Microsoft.
  • 5. 5. En Azure Machine Learning Studio, da clic en el ícono ☰ en la esquina superior izquierda para ver las diferentes páginas en la interfaz, las cuales pueden usarse para administrar los recursos en su espacio de trabajo. Puedes administrar tu espacio de trabajo por medio del portal de Azure, pero para los científicos de datos y los ingenieros de operaciones de Machine Learning, Azure Machine Learning Studio proporciona una interfaz de usuario más enfocada para administrar los recursos del espacio de trabajo. Importante Si tienes la intención de usar un espacio de trabajo de Azure Machine Learning con la edición básica, actualízalo a la edición Enterprise para que la interfaz del diseñador esté disponible.
  • 6. Unidad 3. Crea recursos de cómputo Para entrenar e implementar modelos con el diseñador de Azure Machine Learning, necesitas un procesador que ejecute las tareas de entrenamiento, prueba del modelo y alojamiento del modelo en un servicio implementado. Crear objetivos de cómputo Los objetivos informáticos son recursos basados en la nube en los que puede ejecutar procesos de entrenamiento de modelos y exploración de datos. 1. En Azure Machine Learning Studio, ve la página Compute (en Manage). Aquí es donde administrarás los objetivos de procesamiento para tus actividades de ciencia de datos. Hay cuatro tipos de recursos informáticos que puede crear: • Instancias informáticas: estaciones de trabajo de desarrollo que los científicos de datos pueden usar para trabajar con datos y modelos. • Clústeres de cómputo: clústeres escalables de máquinas virtuales para el procesamiento bajo demanda del código de experimento. • Clústeres de inferencia: objetivos de implementación para servicios predictivos que utilizan tus modelos entrenados. • Procesamiento adjunto: enlaces a recursos informáticos de Azure existentes, como máquinas virtuales o clústeres de Azure Databricks. 2. En la pestaña Compute Instances, agrega una nueva instancia de proceso con la siguiente configuración. Lo usarás para probar tu modelo: • Compute name: ingresa un nombre único • Tipo de máquina virtual: CPU • Tamaño de la máquina virtual: Standard_DS2_v2 3. Mientras se crea la instancia de cómputo, cambia a la pestaña Compute Clusters y agrega un nuevo compute clúster con la siguiente configuración. Lo usarás para entrenar un modelo de aprendizaje automático: • Compute name: ingresa un nombre único • Tamaño de la máquina virtual: Standard_DS2_v2 • Prioridad de máquina virtual: Dedicated • Número mínimo de nodos: 2
  • 7. • Número máximo de nodos: 2 • Segundos inactivos antes de reducir: 120 4. Mientras se crea el clúster de proceso, cambia a la pestaña Inference Clusters y agrega un nuevo clúster con la siguiente configuración. Lo usarás para implementar tu modelo como servicio. • Compute name: ingresa un nombre único • Servicio Kubernetes: Create new • Región: selecciona una región diferente a la utilizada para el workspace • Tamaño de la máquina virtual: Standard_DS2_v2 • Propósito del clúster: Dev-test • Número de nodos: 2 • Configuración de red: Basic • Habilitar configuración SSL: Unselected 5. Verifica que el clúster de inferencia esté en el estado de creación; llevará un tiempo crearlo, así que déjalo por ahora. Nota En un entorno de producción, normalmente establecerías el valor mínimo de número de nodos en 0 para que el cálculo solo se inicie cuando sea necesario. Sin embargo, el cálculo puede tardar un tiempo en iniciarse, por lo que para reducir la cantidad de tiempo que pasa esperando en este módulo, lo has inicializado con dos nodos en ejecución permanente. Los objetivos de cálculo tardarán un tiempo en crearse. Puedes pasar a la siguiente actividad mientras esperas.
  • 8. Unidad 4. Explora los datos Para entrenar un modelo de clasificación, necesitas un conjunto de datos que incluya características históricas (características de la entidad para la que desea hacer una predicción) y valores de etiqueta conocidos (el indicador de clase que deseas entrenar para que un modelo lo prediga). Crea un conjunto de datos En Azure Machine Learning, los datos para el entrenamiento de modelos y otras operaciones generalmente se encapsulan en un objeto llamado dataset. 1. En Azure Machine Learning studio , accede a la página Datasets. Los datasets representan archivos de datos específicos o tablas con las que planeas trabajar en Azure ML. 2. Crea un dataset a partir de un archivo web, usando la siguiente configuración: o Información básica: Web URL: https://aka.ms/diabetes-data Nombre: diabetes-data Tipo de Dataset: Tabular Descripción: Diabetes data o Configuración y vista previa: Formato de archivo: Delimited Delimitador: Comma Codificación: UTF-8 Encabezados de columna: Use headers from first file Saltar registros: None o Esquema: Incluir todas las columnas excepto Path Revisar los tipos automáticamente detectados o Confirmar detalles: Do not profile the dataset after creation 3. Una vez creado el conjunto de datos, ábrelo y vea la página Explore para ver una muestra de los datos. Estos datos representan detalles de pacientes que han sido probados para diabetes.
  • 9. Crea un pipeline Para comenzar con el diseñador de Azure Machine Learning, primero debes crear un pipeline y agregar el conjunto de datos con el que deseas trabajar. 1. En Azure Machine Learning studio para tu workspace, accede a la página de Designer y selecciona + para crear un nuevo pipeline. 2. En el panel de Settings, cambia el nombre predeterminado (Pipeline-Created-on-date) a Diabetes Training (si el panel de Settings no es visible, da clic en el ícono ⚙ al lado del nombre del pipeline en la parte superior). 3. Observa que necesitas especificar un cómputo de destino sobre el cual ejecutar el pipeline. En el panel Settings, haz clic en Select compute target y elige el clúster de cómputo aml-cluster creado previamente. 4. Del lado izquierdo del diseñador, expande la sección Datasets y arrastra el dataset diabetes-data creado en el ejercicio anterior hacia el canvas de trabajo. 5. Selecciona el dataset diabetes-data en el canvas y observa sus propiedades (puede ser que se abran automáticamente). En la pestaña outputs, selecciona el ícono Visualize (se parece a una gráfica de columnas). 6. Revisa el esquema de los datos y observa que puedes ver las distribuciones de las distintas columnas en forma de histogramas. 7. Desplázate hacia la derecha y selecciona el encabezado para la columna Diabetic, y observa que contiene dos valores: 0 y 1. Estos valores representan las dos clases posibles para la etiqueta que el modelo predecirá: 0 significa que el paciente no tiene diabetes, mientras que un valor de 1 significa que el paciente es diabético. 8. Desplázate hacia la izquierda y revisa las otras columnas, que representan las características que se utilizarán para predecir la etiqueta. Considera que la mayoría de estas columnas son numéricas, pero cada entidad está en su propia escala. Por ejemplo, los valores de edad varían de 21 a 77, mientras que los valores de DiabetesPedigree varían de 0.078 a 2.3016. Al entrenar un modelo de aprendizaje automático, a veces es posible que valores más grandes dominen la función predictiva resultante, reduciendo la influencia de las características que en una escala más pequeña. Por lo general, los científicos de datos mitigan este posible sesgo al normalizar las columnas numéricas para que estén en escalas similares. 9. Cierra la ventana diabetes-data result visualization y luego cierra o cambia el tamaño del panel de configuración con el icono X o el ícono ↗↙ para que puedas ver el conjunto de datos en el canvas de esta manera:
  • 10. Añade transformaciones Antes de que puedas entrenar un modelo, normalmente necesitas aplicar algunas transformaciones de preprocesamiento a los datos. 1. En el panel de la izquierda, contrae la sección Datasets si aún está expandida, y muestra la sección Data Transformation, la cual contiene un amplio rango de módulos que puedes utilizar para transformar tus datos antes de entrenar el modelo. 2. Arrastra un módulo Normalize Data al canvas debajo del dataset diabetes-data y luego conecta la salida inferior del dataset diabetes-data a la entrada del módulo Normalize Data, de la siguiente manera: 3. Selecciona el módulo Normalize Data y observa sus configuraciones, notando que requiere que especifiques el método de transformación y las columnas que serán transformadas. 4. Establece la transformación en MinMax y edita las columnas para que incluya las siguientes: o Pregnancies o PlasmaGlucose o DiastolicBloodPressure o TricepsThickness
  • 11. o SerumInsulin o BMI o DiabetesPedigree o Age La transformación de datos está normalizando las columnas numéricas para colocarlas en la misma escala, lo que debería ayudar a evitar que las columnas con valores grandes dominen el entrenamiento del modelo. Por lo general, se aplicarían demasiadas transformaciones de preprocesamiento para preparar los datos para el entrenamiento, pero simplificaremos las cosas en este ejercicio. Ejecuta el pipeline Para aplicar las transformaciones de datos, debe ejecutar el pipeline como un experimento. 1. Asegúrate de que tu pipeline se observa como la siguiente imagen:
  • 12. 2. Elige Submit y ejecuta el pipeline como un nuevo experimento llamado diabetes- training en tu clúster de cómputo. 3. Espera a que finalice la ejecución – esta tarea puede tardar algunos minutos. El dataset está preparado ahora para entrenar el modelo.
  • 13. Unidad 5. Crea y ejecuta un pipeline de entrenamiento Después de haber utilizado las transformaciones de datos para preparar los datos, puedes usarlos para entrenar un modelo de machine learning. Agrega módulos de entrenamiento Es una práctica común entrenar el modelo usando un subconjunto de datos, mientras se retienen algunos datos para probar el modelo entrenado. Esto permite comparar las etiquetas que predice el modelo con las etiquetas reales conocidas en el dataset original. En este ejercicio, extenderás el pipeline Diabetes Training así:
  • 14. Sigue los pasos mostrados a continuación, utilizando la imagen de arriba como referencia a medida que agregas y configuras los módulos necesarios. 1. Abre el pipeline Diabetes Training creado con anterioridad. 2. En el panel de la izquierda, en la sección Data Transformations, arrastra un módulo Split Data hacia el canvas debajo del módulo Normalize Data. Entonces, conecta la salida izquierda del Dataset Transformado del módulo Normalize Data hacia la entrada del módulo Split Data. 3. En el módulo Split Data, configura sus parámetros: o Modo de división: Split Rows o Fracción de filas de salida en el primer dataset: 0.7 o Semilla aleatoria: 123 o División estratificada: False 4. Expande la sección Model Training en el panel de la izquierda y arrastra un módulo Train Model hacia el canvas debajo del módulo Split Data. Entonces, conecta el dataset1 de Resultados (salida izquieda) del módulo Split Data al Dataset (entrada derecha) del módulo Train Model. 5. El modelo que estamos entrenando predecirá el valor para la columna Diabetic, así que seleccionamos el módulo Train Model y modificamos sus parámetros estableciendo Label column en Diabetic (¡verifica que coincida el nombre!) 6. La etiqueta Diabetic que el modelo predecirá es una clase (0 or 1), así que necesitamos entrenar al modelo utilizando un algoritmo de clasificación. Dado que solo hay dos posibles clases, utilizaremos un algoritmo de clasificación binaria. Expande la sección Machine Learning Algorithms, y bajo Classification, arrastra un módulo Two-Class Logistic Regression al canvas, colocándolo a la izquierda del modulo Split Data y arriba del módulo Train Model. Entonces, conecta su salida a la entrada Untrained model (izquierda) del módulo Train Model. Nota Existen múltiples algoritmos que puedes usar para entrenar un modelo de clasificación. Para obtener ayuda para elegir uno, echa un vistazo a la Machine Learning Algorithm Cheat Sheet for Azure Machine Learning designer. 7. Para probar el modelo entrenado, debemos usarlo para calificar el conjunto de datos de validación que está en espera al haber dividido los datos originales; en otras palabras, predecir etiquetas para las características en el conjunto de datos de validación. Expande la sección Model Scoring & Evaluation y arrastra un módulo Score Model al canvas, debajo del módulo Train Model. Entonces, conecta la salida del módulo Train Model a la entrada Trained model (izquierda) del módulo Score Model; y conecta la salida Results
  • 15. dataset2 (derecha) del módulo Split Data a la entrada Dataset (derecha) del módulo Score Model. 8. Asegúrate de que tu pipeline se parece a la siguiente imagen: Ejecuta el pipeline de entrenamiento Ahora estás listo para ejecutar el pipeline de entrenamiento y entrenar al modelo. 1. Elige Submit, y ejecuta el pipeline utilizando el experimento diabetes-training. 2. Espera a que el experimento finalice su ejecución. Puede tomar 5 minutos o más. 3. Cuando el experimento finaliza su ejecución, selecciona el módulo Score Model y en el panel de configuración, en la pestaña Outputs + Logs, debajo de Data outputs en la sección Scored dataset, utiliza el ícono Visualize para observar los resultados. 4. Desplázate a la derecha, y observa que al lado de la columna Diabetic (la cual contiene los valores conocidos de la etiqueta) hay una nueva columns titulada Scored Labels, la cual contiene los valores predichos de la etiqueta, y la columna Scored Probabilities contienen valores de probabilidad entre 0 y 1. Esto indica la probabilidad de una predicción positiva, así que probabilidades mayores a 0.5 resultan en un valor predicho de 1 (diabético), mientras que probabilidades entre 0 y 0.5 resultan en una etiqueta predicha de 0 (no diabético). 5. Cierra la ventana Score Model result visualization.
  • 16. El modelo predice valores para la etiqueta Diabetic, pero ¿qué tan confiables son sus predicciones? Para evaluar eso, debe evaluar el modelo.
  • 17. Unidad 6. Evalúa un modelo de clasificación Los datos de validación retenidos y utilizados para calificar el modelo incluyen los valores conocidos para la etiqueta. Por tanto, para validar el modelo se puede comparar los valores verdaderos de la etiqueta con los valores predichos (misma etiqueta) al calificar el conjunto de datos de validación. Según esta comparación, puedes calcular varias métricas que describen qué tan bien funciona el modelo. Agrega un módulo Evaluate Model 1. Abre el pipeline Diabetes Training creado en la entrada anterior. 2. En el panel de la izquierda, en la sección Model Scoring & Evaluation, arrastra un módulo Evaluate Model al canvas, bajo el módulo Score Model, y conecta la salida del módulo Score Model a la entrada izquierda Scored dataset del módulo Evaluate Model. 3. Asegúrate de que tu pipeline es similar al mostrado en la figura: 4. Selecciona Submit y ejecuta el pipeline del experimento diabetes-training.
  • 18. 5. Espera a que termine la ejecución del experimento. 6. Cuando finalice la ejecución del experimento, seleccione el módulo Evaluate Model y en el panel de configuración, en la pestaña Outputs + Logs, bajo Data outputs en la sección Evaluation results, usa el ícono Visualize para ver las métricas de rendimiento. Estas métricas pueden ayudar a los científicos de datos a evaluar qué tan bien predice el modelo en función de los datos de validación. 7. Echa un vistazo a la matriz de confusión para el modelo, que es una tabulación de los recuentos de valores predichos y reales para cada clase posible. Para un modelo de clasificación binaria como este, en el que está prediciendo uno de los dos valores posibles, la matriz de confusión es una cuadrícula de 2x2 que muestra los recuentos de valores predichos y reales para las clases 0 y 1, similar a esto: La matriz de confusión muestra casos en los que los valores predichos y reales fueron 1 (conocidos como true positives) en la parte superior izquierda, y casos en los que los valores predichos y reales fueron 0 (true negatives) en la parte inferior derecha. Las otras celdas muestran casos en los que los valores predichos y reales difieren (false positives y false negatives). Las celdas en la matriz se colorean de modo que cuantos más casos se representan en la celda, más intenso es el color, con el resultado de que puede identificar un modelo que predice con precisión para todas las clases al buscar una línea diagonal de celdas de colores intensos arriba a la izquierda a la derecha abajo (en otras palabras, las celdas donde los valores predichos coinciden con los valores reales). Para un modelo de clasificación de múltiples clases (donde hay más de dos clases posibles), se utiliza el mismo enfoque para tabular cada combinación posible de recuentos de valores reales y pronosticados, por lo que un modelo con tres clases posibles daría como resultado una matriz de 3x3 con un línea diagonal de celdas donde coinciden las etiquetas predichas y reales.
  • 19. 8. Revisa las métricas a la izquierda de la matriz de confusión, que incluyen: o Accuracy (exactitud): la proporción de predicciones correctas (true positives + true negatives) con respecto al número total de predicciones. En otras palabras, ¿qué proporción de predicciones de diabetes acertó el modelo? o Precision: la fracción de casos positivos identificados correctamente (el número de true positives dividido por el número de true positives más false positives). En otras palabras, de todos los pacientes que el modelo predijo que tenían diabetes, ¿cuántos son realmente diabéticos? o Recall: la fracción de los casos clasificados como positivos que en realidad son positivos (el número de true positives dividido por el número de true positives más false negatives). En otras palabras, de todos los pacientes que realmente tienen diabetes, ¿cuántos identificó el modelo? o F1 Score: una métrica general que esencialmente combina precisión y recall. o AUC. De estas métricas, accuracy es la más intuitiva. Sin embargo, debes tener cuidado al utilizar solo accuracy como medida de qué tan bien funciona un modelo. Supongamos que solo el 3% de la población es diabética. Podrías crear un modelo que siempre prediga 0 y sería 97% preciso, ¡pero no muy útil! Por esta razón, la mayoría de los científicos de datos utilizan otras métricas como precisión y recall para evaluar el rendimiento del modelo de clasificación. 9. Encima de la lista de métricas, hay un control deslizante Umbral (Threshold). Recuerda que lo que predice un modelo de clasificación es la probabilidad de cada clase posible. En el caso de este modelo de clasificación binaria, la probabilidad pronosticada para una predicción positiva (diabética) es un valor entre 0 y 1. Por defecto, una probabilidad pronosticada de diabetes por encima de 0.5 significa una predicción de clase de 1, mientras que una predicción por debajo de este umbral implica que hay una mayor probabilidad de que el paciente no tenga diabetes (las probabilidades para todas las clases suman 1), por lo que la clase predicha sería 0. Intenta mover el control deslizante del umbral y observa el efecto sobre la matriz de confusión. Si lo mueves completamente hacia la izquierda (0), la métrica Recall se convierte en 1, y si la mueve completamente hacia la derecha (1), la métrica Recall se convierte en 0.
  • 20. 10. Encima del control de Umbral se encuentra la curva ROC (ROC significa característica del operador recibido, pero la mayoría de los científicos de datos simplemente lo llaman curva ROC). Otro término para recordar es True positive rate, y tiene una métrica correspondiente llamada False positive rate, que mide el número de casos negativos incorrectamente identificados como positivos en comparación con el número de casos negativos reales. Al graficar estas métricas entre sí para cada valor umbral posible entre 0 y 1 se obtiene una curva. En un modelo ideal, la curva iría hasta el lado izquierdo y hacia la parte superior, de modo que cubra el área completa del gráfico. Cuanto mayor sea el área debajo de la curva (que puede ser cualquier valor de 0 a 1), mejor será el rendimiento del modelo: esta es la métrica de AUC enumerada con las otras métricas. Para tener una idea de cómo esta área representa el rendimiento del modelo, imagine una línea diagonal recta desde la parte inferior izquierda a la parte superior derecha del gráfico ROC. Esto representa el rendimiento esperado si acaba de adivinar o lanzar una moneda por cada paciente; puede esperar obtener aproximadamente la mitad de ellos correctamente y la otra mitad incorrectos, por lo que el área debajo de la línea diagonal representa un AUC de 0.5. Si el AUC para su modelo es más alto que esto para un modelo de clasificación binaria, entonces el modelo funciona mejor que una suposición aleatoria. 11. Cierra la ventana de visualización de resultados de Evaluate model. El rendimiento de este modelo no es tan bueno, en parte porque solo realizamos una ingeniería mínima de características y preprocesamiento. Podrías probar un algoritmo de clasificación diferente, como el Two-Class Decision Forest, y comparar los resultados. Puedes, por ejemplo, conectar las salidas del módulo Split Data a múltiples módulos Train Model y Score Model, y luego conectar un segundo módulo Score Model al módulo Evaluate Model para ver una comparación entre modelos. El objetivo de este ejercicio es simplemente que conozcas la clasificación y la interfaz del diseñador de Azure Machine Learning.
  • 21. Unidad 7. Crea un pipeline de inferencia Después de crear y ejecutar un pipeline para entrenar el modelo, necesitas un segundo pipeline que realice las mismas transformaciones de datos para los nuevos datos, y luego use el modelo entrenado para inferir (predecir) valores de etiquetas en función de sus características. Esta canalización formará la base de un servicio predictivo que puede publicar para que las aplicaciones lo utilicen. Crea un pipeline de inferencia 1. En Azure Machine Learning Studio, haz clic en la página Designer para ver todos los pipelines que has generado. Entonces, abre el pipeline Diabetes Training creado previamente. 2. En la lista Create inference pipeline, haz clic en Real-time inference pipeline. Después de unos segundos, una nueva version de tu pipeline llamado Diabetes Training-real time inference se abrirá. 3. Renombra el nuevo pipeline a Predict Diabetes, y entonces revisa el nuevo pipeline. Contiene una entrada de servicio web (web service input) para enviar nuevos datos y una salida de servicio web (web service output) para devolver resultados. Algunas de las transformaciones y pasos de entrenamiento se han encapsulado en este pipeline para que las estadísticas de sus datos de entrenamiento se usen para normalizar los valores de datos nuevos, y el modelo entrenado se usará para calificar los nuevos datos.. Nota Si el nuevo pipeline no contiene módulos de entrada y salida de servicio web, regresa a la página Designer y luego vuelve a abrir el nuevo pipeline de inferencia. Realizará los siguientes cambios en el pipeline de inferencia:
  • 22. • Reemplaza el dataset diabetes-data con un módulo Enter Data Manually que no incluya la columna de etiqueta (Diabetic). • Remueve el módulo Evaluate Model. • Inserta un módulo Execute Python Script antes de la salida del web service que devuelva solo el ID del paciente, el valor de la columna de predicción y la probabilidad. Siga los pasos restantes a continuación, utilizando la imagen y la información de arriba como referencia mientras modificas el pipeline. 4. El pipeline de inferencia supone que los nuevos datos coincidirán con el esquema de los datos de entrenamiento originales, por lo que se incluye el dataset diabetes-data del pipeline de entrenamiento. Sin embargo, estos datos de entrada también incluyen la etiqueta Diabetic que predice el modelo, lo cual no es intuitivo incluir en los datos de nuevos pacientes para los que aún no se ha realizado una predicción de diabetes. Elimina este módulo y reemplázalo con un módulo Enter Data Manually de la sección Data Input and Output, que debe contener los siguientes datos CSV, que incluyen valores de características sin etiquetas para tres nuevas observaciones de pacientes: PatientID,Pregnancies,PlasmaGlucose,DiastolicBloodPressure,TricepsThickness,Ser umInsulin,BMI,DiabetesPedigree,Age 1882185,9,104,51,7,24,27.36983156,1.350472047,43 1662484,6,73,61,35,24,18.74367404,1.074147566,75 1228510,4,115,50,29,243,34.69215364,0.741159926,59
  • 23. 5. Conecta el nuevo módulo Enter Data Manually a la misma entrada Dataset del módulo Apply Transformation que el módulo Web Service Input. 6. El pipeline de inferencia incluye el módulo Evaluate Model, el cual no es útil al momento de predecir nuevos datos, por lo que hay que removerlo. 7. La salida del módulo Score Model incluye todas las caraterísticas de entrada así como la etiqueta de predicción y el score de probabilidad. Para limitar la salida solo a la predicción y probabilidad: o Elimina la conexión entre los módulos Score Model y Web Service Output. o Agrega un módulo Execute Python Script de la sección Python Language, reemplazando el código Python que aparece por defecto con el siguiente código (el cual simplemente selecciona las columnas PatientID, Scored Labels y Scored Probabilities, y además las renombra adecuadamente): import pandas as pd def azureml_main(dataframe1 = None, dataframe2 = None): scored_results = dataframe1[['PatientID', 'Scored Labels', 'Scored Probabilities']] scored_results.rename(columns={'Scored Labels':'DiabetesPrediction', 'Scored Probabilities':'Probability'}, inplace=True) return scored_results o Connect the output from the Score Model module to the Dataset1 (left-most) input of the Execute Python Script, and connect the output of the Execute Python Script module to the Web Service Output. 8. Verifica que tu pipeline tenga un aspecto similar al mostrado:
  • 24. 9. Ejecuta el pipeline como un nuevo experimento llamado predict-diabetes en tu clúster de cómputo. ¡Esto puede tardar un rato! 10. Cuando finalice el pipeline, selecciona el módulo Execute Python Script y, en el panel de configuración, en la pestaña Output + Logs, visualiza el Result dataset para ver las etiquetas y probabilidades predichas para las tres observaciones del paciente en los datos de entrada Tu pipeline de inferencia predice si los pacientes están o no en riesgo de diabetes según sus características. Ahora está listo para publicar el pipeline para que las aplicaciones cliente puedan usarla.
  • 25. Unidad 8. Implementa un servicio de predicción Una vez que hayas creado y probado un pipeline de inferencia para predicción en tiempo real, puedes publicarla como un servicio para que las aplicaciones cliente las utilicen. Para publicar un pipeline de inferencia en tiempo real como servicio, debes implementarla en un clúster de Azure Kubernetes Service (AKS). En este ejercicio, utilizarás el clúster de inferencia AKS que creaste anteriormente. Implementa un servicio 1. Ve el pipeline de inferencia Predict Diabetes que creaste. 2. En la esquina superior derecha, selecciona Deploy y configura un nuevo endpoint en tiempo real denominado predict-diabetes en el clúster de inferencia creado anteriormente. 3. Espera a que se implemente el servicio web; esto puede llevar varios minutos. El estado de implementación se muestra en la esquina superior izquierda de la interfaz del diseñador. Prueba el servicio Ahora puedes probar tu servicio implementado desde una aplicación cliente; en este caso, usarás el código de la celda mostrada a continuación para simular una aplicación cliente. 1. En la página Endpoints, abre el endpoint en tiempo real predict-diabetes. 2. Cuando se abra el endpoint predict-diabetes, ve la pestaña Consume y observa la información siguiente, la cual necesitarás para realizar la conexión a tu servicio implementado desde una aplicación cliente. o El endpoint REST para tu servicio. o La Primary Key de tu servicio 3. Puedes copiarlos usando el botón ⧉ al lado de estos valores. 4. Abre una nueva pestaña de navegador así como una segunda instancia de Azure Machine Learning studio. Entonces, en la nueva pestaña, visita la página Notebooks.
  • 26. 5. En la página Notebooks, crea un nuevo archivo con la siguiente configuración: o Nombre de archivo: diabetes_test.ipynb o Tipo de archivo: Notebook o Sobreescribir si existe: Selected o Selecciona el directorio de destino: Elige el folder de tu nombre de usuario bajo User files 6. Cuando se haya creado el nuevo notebook, asegúrate de que la instancia de proceso creada anteriormente esté seleccionada en la caja Compute y que tenga el estado Running. 7. Edita el notebook directamente, y en la celda que ha sido creada pega el siguiente código: endpoint = 'YOUR_ENDPOINT' #Replace with your endpoint key = 'YOUR_KEY' #Replace with your key import urllib.request import json import os data = { "Inputs": { "WebServiceInput0": [ { 'PatientID': 1882185, 'Pregnancies': 9, 'PlasmaGlucose': 104, 'DiastolicBloodPressure': 51, 'TricepsThickness': 7, 'SerumInsulin': 24, 'BMI': 27.36983156, 'DiabetesPedigree': 1.3504720469999998, 'Age': 43, }, ], }, "GlobalParameters": { } } body = str.encode(json.dumps(data)) headers = {'Content-Type':'application/json', 'Authorization':('Bearer '+ key)} req = urllib.request.Request(endpoint, body, headers) try: response = urllib.request.urlopen(req) result = response.read() json_result = json.loads(result) output = json_result["Results"]["WebServiceOutput0"][0]
  • 27. print('Patient: {}nPrediction: {}nProbability: {:.2f}'.format(output["PatientID"], output["DiabetesPrediction"], output["Probability"])) except urllib.error.HTTPError as error: print("The request failed with status code: " + str(error.code)) # Print the headers to help debug print(error.info()) print(json.loads(error.read().decode("utf8", 'ignore'))) Nota El código simplemente define los valores de las propiedades de un paciente, y utiliza el servicio predict-diabetes recién creado para predecir un diagnóstico de diabetes. 8. Cambia a la pestaña del navegador que contiene la página Consume para el servicio predict-diabetes y copie el endpoint REST de su servicio. Vuelve a la pestaña que contiene el notebook y pega la clave en el código, reemplazando YOUR_ENDPOINT. 9. Repite el mismo proceso para copiar la Primary Key de tu service y reemplazar YOUR_KEY por dicho valor. 10. Guarda el notebook. Entonces utiliza el botón ▷ que aparece al lado de la celda para ejecutar el código. 11. Verifica que un diagnóstico de diabetes es devuelto.
  • 28. Unidad 9. Verificación de conocimiento 1. Estás utilizando Azure Machine Learning Designer para crear un pipeline de entrenamiento para un modelo de clasificación binaria. Has agregado un dataset que contiene características y etiquetas, un módulo Two-Class Decision Forest y un módulo Training Model. Planeas usar los módulos Score Model y Evaluation Model para probar el modelo entrenado con un subconjunto del dataset que no se usó al inicio para el entrenamiento. ¿Qué tipo de módulo adicional debe agregar? A. Join Data B. Split Data C. Select Columns in Dataset 2. Utilizas un pipeline del Azure Machine Learning designer para entrenar y probar un modelo de clasificación binaria. Revisas las métricas de rendimiento del modelo por medio del módulo Evaluate model y observas que tiene un puntaje AUC de 0.3. ¿Qué puedes concluir sobre el modelo? A. El modelo puede explicar el 30% de la varianza entre etiquetas reales y las predichas. B. El modelo predice con precisión el 70% de los casos de prueba. C. El modelo funciona peor que adivinar al azar. 3. Usas Azure Machine Learning designer para crear un pipeline de entrenamiento para un modelo de clasificación. ¿Qué debes hacer antes de implementar el modelo como servicio? A. Crear una tubería de inferencia a partir del pipeline de entrenamiento B. Agregar un módulo Evaluate model al pipeline de entrenamiento C. Clonar el pipeline de entrenamiento con un nombre diferente
  • 29. Unidad 10. Resumen En este módulo, aprendiste a usar Azure Machine Learning designer para entrenar y publicar un modelo de clasificación. Restablecer recursos El servicio web que creó está alojado en un clúster de Azure Kubernetes. Si no tienes intención de experimentar más, debes eliminar el endpoint y el clúster para evitar que se acumulen cargos innecesarios de Azure. También debes detener la instancia de cómputo hasta que la necesites nuevamente. Si has terminado de explorar Azure Machine Learning, puede eliminar el grupo de recursos que contiene su espacio de trabajo de Azure Machine Learning de su suscripción de Azure: 1. En Azure Portal, en la página Grupos de recursos, abra el grupo de recursos que especificó al crear su espacio de trabajo de Azure Machine Learning. 2. Haga clic en Eliminar grupo de recursos, escriba el nombre del grupo de recursos para confirmar que desea eliminarlo y seleccione Eliminar. 1. En Azure Machine Learning Studio, en la pestaña Endpoints, elige el endpoint predict- diabetes. Entonces, elige Delete (🗑) y confirma que deseas removerlo. 2. En la página Compute, en la pestaña Compute Instances, selecciona tu instancia de cómputo y elige Stop. 3. En la página Compute, en la pestaña Compute clusters, abre tu clúster de your cómputo y elige Edit. Entonces, establece la configuración Minimum number of nodes en 0 y selecciona Update. 4. En la página Compute, en la pestaña Inference clusters, selecciona tu clúster de inferencia y elige Delete, confirmando que deseas removerlo. Si has terminado de explorer el servicio de Azure Machine Learning, puedes eliminar el grupo de recursos que contiene tu Azure Machine Learning workspace en la suscripción de Azure: 1. En el Azure portal, dentro de la página Resource groups, abre el grupo de recursos que especificaste al momento de crear el espacio de trabajo (workspace) de Azure Machine Learning.
  • 30. 2. Haz clic en Delete resource group, escribe el nombre del grupo de recurso para confirmar la operación y haz clic en Delete.