Información de concepto

Comando TRAIN

Comando PREDICT

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.

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.

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)

  • Comando Entrenar Usted ejecuta el comando entrenar en un conjunto de datos de entrenamiento para entrenar un modelo predictivo.

    El comando utiliza varios algoritmos de aprendizaje automático diferentes para generar diferentes modelos antes de seleccionar un modelo único más adecuado para la tarea de predicción ("el modelo ganador").

  • Conjunto de datos de entrenamiento El conjunto de datos incluye campos clave (características) y un campo etiquetado (campo de destino).
  • Aprendizaje El proceso de entrenamiento genera un modelo matemático que representa las relaciones entre los campos clave y los campos etiquetados.
  • Ejemplo Por ejemplo, si todas las características son iguales, el proceso de entrenamiento podría descubrir que una cuarta habitación aumenta el valor de venta de una vivienda en $35.000.

    "Cantidad de habitaciones" es un campo clave y "precio de venta" es el campo etiquetado.

  • Modelo predictivo El proceso de entrenamiento almacena el modelo predictivo en un archivo de salida.
  • Datos de préstamo datos de préstamo históricos, incluida la información de mora (S/N)

    "Mora" es el campo etiquetado.

  • Datos de la vivienda datos de ventas recientes de viviendas, incluido el precio de venta

    "Precio de venta" es el campo etiquetado.

2

Predicción

(Comando Predecir)

  • Comando Predecir Usted utiliza el comando predecir para aplicar el modelo predictivo generado por el comando entrenar.
  • Nuevos datos Usted aplica el modelo a un nuevo conjunto de datos con los mismos campos clave (características) que el conjunto de datos de entrenamiento, pero sin el campo etiquetado.
  • Predicciones El proceso de predicción utiliza las relaciones matemáticas que se almacenaron en el modelo predictivo para predecir los valores de etiqueta para relaciones de campos clave similares en el nuevo conjunto de datos.
  • Ejemplo Por ejemplo, si las demás características son iguales, el proceso de predicción predice un precio de venta de $400.000 para una vivienda con tres habitaciones y de $435.000 para una vivienda con cuatro habitaciones.
  • Probabilidad (únicamente para clasificación) Para cada valor predicho, la salida de la predicción incluye la probabilidad o la confianza en la precisión de la predicción.
  • Datos del préstamos datos del solicitante del préstamo actual

    No hay información de mora para el préstamo porque los préstamos solo están en la etapa de solicitud.

  • Datos de la vivienda datos de evaluación del precio de la vivienda

    No existen datos de precios de venta recientes porque las viviendas aún no están en el mercado.

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

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:

  • 00:00-06:00
  • 06:00-12:00
  • 12:00-18:00
  • 18:00-24:00
nombre_campo_QOD
Octil del día

Categórica:

  • 00:00-03:00
  • 03:00-06:00
  • 06:00-09:00
  • 09:00-12:00
  • 12:00-15:00
  • 15:00-18:00
  • 18:00-21:00
  • 21:00-24:00
nombre_campo_OOD

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

  1. Abra la tabla de Analytics con el conjunto de datos de entrenamiento.
  2. Desde el menú principal de Analytics, seleccione Aprendizaje automático > Entrenamiento.
  3. Especifique el tiempo que se asigna al proceso de entrenamiento:
    OpciónDetalles
    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.

  4. 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.

  5. 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ónMedidas disponibles
    ClasificaciónPérdida logarítmica | AUC | Precisión | F1 | Precisión | Sensibilidad
    RegresiónError 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

  1. 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.

  2. 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

  1. 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.

  2. 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.

  3. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

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

  1. Abra la tabla de Analytics con el conjunto de datos sin etiquetar.
  2. Desde el menú principal de Analytics, seleccione Aprendizaje automático > Predecir.
  3. 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.

  4. 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.

  5. 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.

  6. Opcional. Para procesar solo un subconjunto de datos sin etiquetar, en la ficha Más seleccione una de las opciones del panel Alcance.
  7. Haga clic en Aceptar.

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.

Algoritmos de clasificación

Algoritmos de regresión