Utilice el aprendizaje automático de Analytics para predecir clases y valores numéricos asociados con datos sin etiquetar. Los datos están sin etiquetar si los valores numéricos o las clases que son de su interés no están presentes en los datos. Por ejemplo, podría usar el aprendizaje automático para predecir moras en los préstamos o el precio futuro de las viviendas:
Problema de predicción | Tipo de predicción | Descripción |
---|---|---|
Moras en los préstamos | Clasificación |
Con la información del solicitante, como edad, categoría de trabajo o calificación crediticia, entre otros datos, es posible predecir qué solicitantes entrarán en mora si se les otorga un préstamo. En otras palabras, ¿los solicitantes entrarán en la clase de Mora = Sí o Mora = No? |
Precios futuros de las viviendas | Regresión | Tomando características como la antigüedad, la superficie, el código postal, la cantidad de habitaciones y baños, entre otras, es posible predecir el precio futuro de las viviendas. |
Aprendizaje automático
En Analytics, el aprendizaje automático es "automatizado" porque dos comandos relacionados (Entrenar y Predecir) realizan todo el trabajo de cómputos asociado con el entrenamiento y la evaluación de un modelo predictivo, y la aplicación del modelo predictivo a un conjunto de datos sin etiquetar. La automatización que ofrece Analytics le permite utilizar el aprendizaje automático con los datos de la compañía sin necesidad de tener conocimientos especializados en ciencia de datos.
Flujo de trabajo de entrenamiento y predicción
El flujo de trabajo de entrenamiento y predicción está conformado por dos procesos relacionados y dos conjuntos de datos relacionados:
- El Proceso de entrenamiento utiliza un conjunto de datos de entrenamiento (etiquetado)
- El Proceso de predicción utiliza un nuevo conjunto de datos (sin etiquetar)
Proceso de entrenamiento
Primero se realiza el proceso de entrenamiento utilizando el conjunto de datos de entrenamiento que incluye un campo etiquetado (también llamado campo de destino).
El campo etiquetado contiene la clase conocida o el valor numérico conocido que se asocia con cada registro del conjunto de datos de entrenamiento. Por ejemplo, si un titular de un crédito dejó de pagar o no (Sí/No) o el precio de venta de una vivienda.
Con algoritmos de aprendizaje automático, el proceso de entrenamiento genera un modelo predictivo. El proceso de entrenamiento genera una cantidad de permutaciones del modelo diferentes para descubrir el modelo que mejor se adapta a la tarea predictiva que está realizando.
Proceso de predicción
El proceso de predicción se realiza en segundo lugar. Aplica el modelo predictivo que generó el proceso de entrenamiento a un nuevo conjunto de datos sin etiquetar que contiene datos similares a los del conjunto de datos de entrenamiento.
Los valores de las etiquetas, como información de falta de pago de un préstamo o precio de venta de una vivienda, no existen en el nuevo conjunto de datos porque se trata de acontecimientos futuros.
Por medio del uso del modelo predictivo, el proceso de predicción predice un valor numérico o una clase asociados con cada registro sin etiquetar del nuevo conjunto de datos.
Flujo de trabajo de entrenamiento y predicción en más detalle
Secuencia | Proceso | Descripción | Ejemplos de conjuntos de datos |
---|---|---|---|
1 |
Entrenamiento (Comando Entrenar) |
|
|
2 |
Predicción (Comando Predecir) |
|
|
Tiempo de procesamiento
Los cómputos necesarios para el aprendizaje automático requieren mucho tiempo y trabajo del procesador. Entrenar un modelo predictivo con un conjunto de datos grande, con numerosos campos, puede llevar horas y es una tarea que se puede realizar durante la noche.
La inclusión de campos clave de fechahora en el proceso de capacitación hace un uso intensivo del procesador porque cada campo de fecha hora se usa para derivar automáticamente 10 funciones sintéticas. Las funciones sintéticas de fechahora pueden expandir de forma significativa el alcance de los datos predictivos, pero solo debe incluir campos de fechahora si considera que podrían ser relevantes.
Consejo
Si se está familiarizando con el aprendizaje automático en Analytics, use pequeños conjuntos de datos para que los tiempos de procesamiento puedan ser manejables y sea posible ver los resultados relativamente rápido.
Estrategias para reducir el tamaño del conjunto de datos de entrenamiento
Puede usar diferentes estrategias para reducir el tamaño del conjunto de datos de entrenamiento y el tiempo de procesamiento asociado, sin afectar de manera significativa la exactitud del modelo predictivo resultante.
- Excluya del proceso de entrenamiento los campos que no contribuyen a mejorar la exactitud de la predicción. Excluya los campos que no son pertinentes o los que son redundantes.
- Excluya del proceso de entrenamiento los campos de fechahora si no contribuyen a mejorar la exactitud de la predicción. Sin embargo, debe ser cuidadoso al asumir los campos de fechahora no son relevantes. Si desea obtener más información, consulte Campos clave de fechahora.
- Extraiga una muestra del conjunto de datos de entrenamiento y use los datos de muestra como entrada del proceso de entrenamiento. Los posibles enfoques de muestreo incluyen los siguientes:
- equilibrar el tamaño de las clases de datos extrayendo muestras de clases mayoritarias para aproximarlas al tamaño de las clases minoritarias promedio
- extraer muestras aleatorias de todo el conjunto de datos
- extraer muestras estratificadas sobre la base de las características
- extraer muestras estratificadas sobre la base de clústeres
Campos clave de fechahora
Puede usar uno o más campos de fechahora como campos clave al entrenar un modelo predictivo. En general, existen demasiados valores únicos en un campo de fechahora como para que el campo sea un origen adecuado de categorías o de funciones identificables para el proceso de entrenamiento. Los datos de fechahora sin procesar también pueden parecer no estar relacionados con el campo de destino de interés.
Sin embargo, una vez que se los clasifica en categorías, los datos de fechahora pueden tener relevancia. Por ejemplo, los eventos que usted está examinando pueden tener un patrón y ocurrir en ciertos días de la semana o durante ciertas horas del día.
El proceso de entrenamiento deriva automáticamente una cantidad de funciones sintéticas desde cada campo de fechahora categorizando los datos de fechahora sin procesar. A continuación, estas funciones sintéticas se incluyen en el algoritmo que genera un modelo predictivo.
Funciones sintéticas derivadas de campos de fechahora
A continuación, se incluyen las funciones sintéticas derivadas automáticamente de campos de fecha, hora o fechahora.
Descripción de la función sintética | Tipo de función | Nombre de la función sintética |
---|---|---|
Día de la semana | Numérica (1 a 7) | nombre_campo_DOW |
Mes del año | Numérica (1 a 12) | nombre_campo_MONTH |
Trimestre | Numérica (1 a 4) | nombre_campo_QTR |
Cantidad de días desde el inicio del mes | Numérica (1 a 31) | nombre_campo_DAY |
Cantidad de días desde el inicio del año | Numérica (1 a 366) | nombre_campo_DOY |
Segundos | Numérica (00 a 59) | nombre_campo_SECOND |
Hora del día | Numérica (1 a 24) | nombre_campo_HOUR |
Cantidad de segundos desde el inicio del día | Numérica (1 a 86400) | nombre_campo_SOD |
Cuartil del día |
Categórica:
|
nombre_campo_QOD |
Octil del día |
Categórica:
|
nombre_campo_OOD |
Entrenamiento de un modelo predictivo
Nota
El tamaño máximo admitido del conjunto de datos que se utiliza con el proceso de entrenamiento es 1 GB.
Si las opciones del menú de aprendizaje automático están desactivadas, es probable que el motor de Python no esté instalado. Si desea obtener más información, consulte Instalar ACL para Windows.
Pasos
Especificar la configuración básica para el proceso de entrenamiento
- Abra la tabla de Analytics con el conjunto de datos de entrenamiento.
- Desde el menú principal de Analytics, seleccione Aprendizaje automático > Entrenamiento.
- Especifique el tiempo que se asigna al proceso de entrenamiento:
Opción Detalles Tiempo para buscar un modelo óptimo El tiempo total en minutos que se debe dedicar a generar y probar los modelos predictivos, y a seleccionar el modelo ganador.
Especifique un tiempo de búsqueda que sea, como mínimo, 10 veces el tiempo de evaluación máximo.
Tiempo máximo por evaluación del modelo Tiempo máximo de ejecución en minutos por evaluación de modelo.
Asigne 45 minutos por cada 100 MB de datos de entrenamiento.
Nota
El tiempo de ejecución total del proceso de entrenamiento es el tiempo de búsqueda más dos veces el tiempo máximo de evaluación del modelo.
Las asignaciones de tiempo sugeridas logran un equilibrio razonable entre el tiempo de procesamiento y la evaluación de una variedad de tipos de modelos.
- Especifique el tipo de predicción que se debe usar:
- Clasificación use los algoritmos de clasificación para entrenar un modelo
Utilice la clasificación si desea predecir a qué clase o categoría pertenecen los registros de un conjunto de datos sin etiquetar.
- Regresión use los algoritmos de regresión para entrenar un modelo
Utilice regresión si desea predecir los valores numéricos que se asocian con los registros de un conjunto de datos sin etiquetar.
Si desea obtener información sobre los algoritmos específicos que se usan con la clasificación y la regresión, consulte Algoritmos de entrenamiento.
- Clasificación use los algoritmos de clasificación para entrenar un modelo
- En la lista desplegable Medida del modelo, seleccione la métrica que desea utilizar al calificar los modelos que se generaron durante el proceso de entrenamiento.
Se conserva el modelo que se haya generado y tenga el mejor valor para esta métrica; el resto de los modelos se descartan.
Hay un subconjunto de medidas diferente disponible según el tipo de predicción que esté utilizando:
Tipo de predicción Medidas disponibles Clasificación Pérdida logarítmica | AUC | Precisión | F1 | Precisión | Sensibilidad Regresión Error cuadrático medio | Error absoluto medio | R2 Nota
La métrica de clasificación AUC solo es válida cuando se utiliza con un campo de destino que contiene datos binarios; es decir, dos clases, como Sí/No o Verdadero/Falso.
Seleccionar campos
- Desde la lista Entrenar en, seleccione uno o más campos clave para utilizarlos como datos de entrada al entrenar el modelo.
Los campos clave son las características que conforman la base para predecir los valores del campo de destino en un conjunto de datos sin etiquetar. Los campos clave pueden ser de caracteres, numéricos, de fechahora o lógicos. Las funciones sintéticas se derivan automáticamente de campos clave de fechahora.
Nota
Los campos de caracteres deben ser "de categorías". Es decir, deben identificar categorías o clases, y no pueden superar una cantidad máxima de valores exclusivos.
El máximo se especifica en la opción Categorías máximas (Herramientas > Opciones > Comando).
Consejo
Puede presionar Ctrl+clic para seleccionar varios campos no adyacentes y Mayús+clic para seleccionar varios campos adyacentes.
- Desde la lista Campo de destino, seleccione el campo de destino.
El campo de destino es el campo para el cual se está entrenando el modelo sobre la base de los campos clave de entrada.
La clasificación y la regresión funcionan con diferentes tipos de datos de campo de destino:
- clasificación un campo de destino de caracteres o lógico
- regresión un campo de destino numérico
Nombrar el archivo de modelo y la tabla de Analytics de salida
- En el cuadro de texto Nombre del modelo, especifique el nombre del archivo modelo generado por el proceso de entrenamiento.
El archivo modelo contiene el modelo que mejor se ajusta al conjunto de datos de entrenamiento. Usted introduce el archivo modelo en el proceso de predicción para generar predicciones sobre un nuevo conjunto de datos que no ha visto.
- En el cuadro de texto En, especifique el nombre de la tabla de evaluación del modelo generada por el proceso de entrenamiento.
La tabla de evaluación del modelo contiene dos tipos de información bien diferenciados:
- Medida/Métrica para las métricas de clasificación o regresión, cálculos cuantitativos del desempeño predictivo del archivo modelo generado por el proceso de entrenamiento
- Importancia/Coeficiente en orden descendente, valores que indican el grado de contribución de cada función (predictor) a las predicciones hechas por el modelo
Nota
Los nombres de las tablas de Analytics tienen un límite de 64 caracteres alfanuméricos, sin incluir la extensión .FIL. El nombre puede incluir un guión bajo ( _ ), pero no puede incluir ningún otro carácter especial ni espacios. El nombre no puede comenzar con un número.
-
Si hay registros en la vista principal que desee excluir del procesamiento, introduzca una condición en el cuadro de texto Si, o haga clic en Si para crear un enunciado IF usando Generador de expresiones.
Nota
La condición Si se evalúa únicamente con los registros que quedan en una tabla después de aplicar las opciones de alcance (Primeros, Siguientes y Mientras).
El enunciado IF considera todos los registros en la vista principal y filtra los que no cumplan la condición especificada.
Especificar que solo se utilizará un subconjunto de los datos de entrenamiento (opcional)
En la ficha Más, seleccione una de las opciones del panel Alcance:
Opción de alcance | Detalles |
---|---|
Todo | (Predeterminado) Especifica que se procesen todos los registros de la tabla. |
Primeros |
Ingrese un número en el cuadro de texto. Inicia el procesamiento en el primer registro de la tabla e incluye solamente el número de registros especificado. |
Siguiente |
Seleccione esta opción e introduzca un número en el cuadro de texto para comenzar el procesamiento en el registro actualmente seleccionado de la vista de la tabla e incluir solo el número especificado de registros. Ingrese un número en el cuadro de texto. Inicia el procesamiento en el registro seleccionado actualmente en la vista de la tabla e incluye solamente el número de registros especificado. El número real de registros debe seleccionarse en la columna ubicada en el extremo izquierdo de la vista, no en los datos de la fila. |
Mientras |
Utilice un enunciado WHILE para limitar el procesamiento de registros en la tabla basándose en un criterio o un conjunto de criterios. Ingrese una condición en el cuadro de texto While o haga clic en While para crear un enunciado WHILE con el Generador de expresiones. Un enunciado WHILE permite que los registros en la vista principal sean procesados sólo mientras la condición especificada se evalúe como verdadera. Tan pronto como la condición se evalúa como falsa, el procesamiento termina, y no se consideran más registros. Puede utilizar la opción Mientras junto con las opciones Todos, Primero o Siguiente. El procesamiento de registros se detiene en cuanto se alcanza un límite. |
Especificar una configuración avanzada para el proceso de entrenamiento
- En la ficha Más, especifique la Cantidad de iteraciones de validación cruzada.
Deje el número predeterminado 5 o especifique otro número. Los números válidos van de 2 a 10.
Las iteraciones son subdivisiones del conjunto de datos de entrenamiento y se utilizan en un proceso de validación cruzada durante la evaluación y la optimización del modelo.
En general, el uso de 5 a 10 iteraciones ofrece buenos resultados al entrenar un modelo.
Consejo
Incrementar la cantidad de iteraciones puede ofrecer un cálculo más preciso del desempeño predictivo de un modelo, pero también se incrementa el tiempo de ejecución total.
- Opcional. Seleccione Semilla e introduzca un número.
El valor semilla se utiliza para inicializar el generador de números aleatorios en Analytics.
Si no selecciona Semilla, Analytics selecciona el valor semilla de manera aleatoria.
Especifique explícitamente un valor semilla y regístrelo si desea replicar el proceso de entrenamiento con el mismo conjunto de datos en el futuro.
- Opcional. Si desea entrenar y calificar únicamente modelos lineales, seleccione Evaluar solo modelos lineales.
Si deja esta opción sin seleccionar, se evalúan todos los tipos de modelos pertinentes para clasificación o regresión.
Nota
Con conjuntos de datos más grandes, el proceso de entrenamiento se suele completar más rápidamente si se incluyen exclusivamente modelos lineales.
Al incluir únicamente modelos lineales se garantizan los coeficientes en la salida.
- Opcional. Seleccione Desactivar la selección de funciones y preprocesamiento si desea excluir estos subprocesos del proceso de entrenamiento.
La selección de funciones es la selección automatizada de campos del conjunto de datos de entrenamiento que son los más útiles para optimizar el modelo predictivo. La selección automatizada puede mejorar la exactitud predictiva y reducir la cantidad de datos que se utilizan en la optimización del modelo.
El preprocesamiento de datos realiza transformaciones, como escalar y estandarizar el conjunto de datos de entrenamiento, para que los datos sean más adecuados para los algoritmos de entrenamiento.
Precaución
Solo debe desactivar la selección de funciones y el preprocesamiento de datos si tiene un motivo para hacerlo.
- Haga clic en Aceptar.
Se inicia el proceso de entrenamiento y aparece un cuadro de diálogo que muestra los ajustes de entrada que usted especificó y el tiempo de procesamiento que ha pasado.
Aplicar un modelo predictivo a un conjunto de datos sin etiquetar
Nota
Si las opciones del menú de aprendizaje automático están desactivadas, es probable que el motor de Python no esté instalado. Si desea obtener más información, consulte Instalar ACL para Windows.
Pasos
- Abra la tabla de Analytics con el conjunto de datos sin etiquetar.
- Desde el menú principal de Analytics, seleccione Aprendizaje automático > Predecir.
- Haga clic en Modelo, en el cuadro de diálogo Seleccionar archivo seleccione un archivo modelo generado por un proceso de entrenamiento previo. A continuación, haga clic en Abrir.
Los archivos de modelo tienen una extensión de archivo *.model.
Nota
El archivo modelo debe haber sido entrenado en un conjunto de datos con los mismos campos que el conjunto de datos sin etiquetar (o prácticamente los mismos campos).
No puede utilizar un archivo modelo entrenado en la versión 14.1 de Analytics. Los archivos modelo de la versión 14.1 no son compatibles con las versiones posteriores de Analytics. Entrene un nuevo modelo predictivo para usarlo con el proceso de predicción.
- En el cuadro de texto En, especifique el nombre de la tabla de Analytics generada por el proceso de predicción.
La tabla de salida contiene los campos clave que usted especificó durante el proceso de entrenamiento y uno o dos campos generados por el proceso de predicción:
- Predicho las clases o los valores numéricos predichos con cada registro del conjunto de datos sin etiquetar
- Probabilidad (únicamente clasificación) la probabilidad de que una clase predicha sea exacta
Nota
Los nombres de las tablas de Analytics tienen un límite de 64 caracteres alfanuméricos, sin incluir la extensión .FIL. El nombre puede incluir un guión bajo ( _ ), pero no puede incluir ningún otro carácter especial ni espacios. El nombre no puede comenzar con un número.
-
Si hay registros en la vista principal que desee excluir del procesamiento, introduzca una condición en el cuadro de texto Si, o haga clic en Si para crear un enunciado IF usando Generador de expresiones.
Nota
La condición Si se evalúa únicamente con los registros que quedan en una tabla después de aplicar las opciones de alcance (Primeros, Siguientes y Mientras).
El enunciado IF considera todos los registros en la vista principal y filtra los que no cumplan la condición especificada.
- Opcional. Para procesar solo un subconjunto de datos sin etiquetar, en la ficha Más seleccione una de las opciones del panel Alcance.
- Haga clic en Aceptar.
Algoritmos de entrenamiento
Las opciones del comando entrenar determinan qué algoritmo de aprendizaje automático se usan para entrenar un modelo predictivo:
Opción | Ficha del cuadro de diálogo Entrenar |
---|---|
Clasificación o Regresión | Ficha Principal |
Evaluar solo modelos lineales | Ficha Más |
Desactivar la selección de funciones y preprocesamiento | Ficha Más |
Las siguientes secciones resumen de qué manera las opciones controlan qué algoritmos se utilizan.
Los nombres de los algoritmos no aparecen en la interfaz del usuario de Analytics. El nombre del algoritmo que se usa para generar el modelo seleccionado en última instancia por el comando entrenar aparece en el log.
Nota
Para obtener información detallada sobre los algoritmos, consulte la documentación de scikit-learn. Scikit-learn es la biblioteca de aprendizaje automático de Python que se utiliza en Analytics.