Regresión lineal

Importante

El soporte técnico de Machine Learning Studio (clásico) finalizará el 31 de agosto de 2024. Se recomienda realizar la transición a Azure Machine Learning antes de esa fecha.

A partir del 1 de diciembre de 2021 no se podrán crear recursos de Machine Learning Studio (clásico). Hasta el 31 de agosto de 2024, puede seguir usando los recursos de Machine Learning Studio (clásico) existentes.

La documentación de ML Studio (clásico) se está retirando y es posible que no se actualice en el futuro.

Crea un modelo de regresión lineal

Categoría: Machine Learning/ Inicializar modelo/Regresión

Nota:

Solo se aplica a: Machine Learning Studio (clásico)

Hay módulos para arrastrar y colocar similares en el diseñador de Azure Machine Learning.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo Regresión lineal en Machine Learning Studio (clásico) para crear un modelo de regresión lineal para usarlo en un experimento. La regresión lineal intenta establecer una relación lineal entre una o más variables independientes y un resultado numérico o la variable dependiente.

Utilice este módulo para definir un método de regresión lineal y entrenar un modelo con un conjunto de datos etiquetado. A continuación, el modelo entrenado podrá usarse para realizar predicciones. Como alternativa, el modelo sin entrenar se puede pasar al modelo de validación cruzada para la validación cruzada en un conjunto de datos etiquetado.

Más información sobre la regresión lineal

La regresión lineal es un método estadístico habitual que se han adoptado en Machine Learning y se ha mejorado con muchos métodos nuevos de ajuste de las líneas y medición de los errores. En el sentido más básico, la regresión se refiere a la predicción de un objetivo numérico. La regresión lineal sigue siendo una buena opción cuando se desea un modelo muy sencillo para una tarea predictiva básica. La regresión lineal también suele funcionar bien en conjuntos de datos muy dimensionales, dispersos y sin complejidad.

Machine Learning Studio (clásico) admite una variedad de modelos de regresión, además de la regresión lineal. Sin embargo, el término "regresión" se puede interpretar de forma flexible y algunos tipos de regresión proporcionados en otras herramientas no se admiten en Studio (clásico).

  • El problema de regresión clásico implica una sola variable independiente y una variable dependiente. Esto se denomina regresión simple, que es lo que admite este módulo.

  • La regresión lineal múltiple implica dos o más variables independientes que contribuyen a una sola variable dependiente. Los problemas en los que se usan varias entradas para predecir un solo resultado numérico también se denominan regresión lineal multivariante.

    El módulo Regresión lineal puede resolver estos problemas, al igual que la mayoría de los demás módulos de regresión de Studio (clásico).

  • La regresión multietiqueta es la tarea de predecir diferentes variables dependientes en un único modelo. Por ejemplo, en una regresión logística multietiqueta, una muestra puede asignarse a varias etiquetas diferentes. (Esto varía de la tarea de predicción de varios niveles dentro de una variable de clase única).

    Este tipo de regresión no se admite en Machine Learning. Para predecir varias variables, cree un aprendiz independiente para cada salida que desee predecir.

Durante años los estadísticos han estado desarrollando métodos cada vez más avanzados para la regresión. Esto es así incluso para la regresión lineal. Este módulo admite dos métodos para medir el error y ajustar la recta de regresión: método de los mínimos cuadrados y el algoritmo del gradiente descendiente.

  • El algoritmo del gradiente descendiente es un método que minimiza la cantidad de errores en cada paso del proceso de entrenamiento del modelo. Existen muchas variaciones del algoritmo y se ha estudiado ampliamente su optimización para distintos problemas de aprendizaje. Si elige esta opción como Solution method (Método de solución), puede establecer diversos parámetros para controlar el tamaño de los intervalos, la velocidad de aprendizaje, etc. Esta opción también admite el uso de un barrido de parámetros integrado.

  • La de los mínimos cuadrados es una de las técnicas que se emplean con más frecuencia en regresión lineal. Por ejemplo, la técnica de los mínimos cuadrados es el método que se usa en las herramientas de análisis de Microsoft Excel.

    Los mínimos cuadrados hacen referencia a la función de pérdida, que calcula el error como la suma del cuadrado de la distancia entre el valor real y la línea predicha, y ajusta el modelo minimizando el error cuadrático. Este método presupone una sólida relación lineal entre las entradas y la variable dependiente.

Configuración de la regresión lineal

Este módulo admite dos métodos para ajustar un modelo de regresión, con opciones muy diferentes:

Creación de un modelo de regresión mediante mínimos cuadrados

  1. Agregue el módulo Modelo de regresión lineal al experimento en Studio (clásico).

    Puede encontrar este módulo en la categoría Machine Learning. Expanda Initialize Model (Inicializar modelo) y Regression (Regresión) y arrastre el módulo Linear Regression Model (Modelo de regresión lineal) al experimento.

  2. En la lista desplegable Solution method (Método de solución) del panel Propiedades, seleccione Ordinary Least Squares (Mínimos cuadrados). Esta opción especifica el método de cálculo que se utiliza para buscar la recta de regresión.

  3. En L2 regularization weight (Peso de regularización L2), escriba el valor que se usará como peso de regularización L2. Se recomienda usar un valor distinto de cero para evitar el sobreajuste.

    Para más información sobre cómo afecta la regularización al ajuste del modelo, consulte este artículo: Regularización L1 y L2 para Machine Learning

  4. Seleccione la opción Include intercept term (Incluir término para intercepción), si desea ver el término para la intercepción.

    Desactive esta opción si no necesita revisar la fórmula de regresión.

  5. En Random number seed (Inicializar número aleatorio) también puede escribir un valor para inicializar el generador de números aleatorios que usa el modelo.

    Utilizar un valor de inicialización es útil si desea mantener los mismos resultados en distintas ejecuciones del mismo experimento. De lo contrario, lo normal es usar un valor del reloj del sistema.

  6. Anule la selección de la opción Permitir niveles de categorías desconocidos si desea que los valores que faltan generar un error.

    Si se selecciona esta opción, se crea un nivel adicional para cada columna de categorías. Todos los niveles del conjunto de datos de prueba que no estaban presentes en el conjunto de datos de entrenamiento se asignan a este nivel adicional.

  7. Agregue el módulo Train Model (Entrenar modelo) al experimento y conecte un conjunto de datos con etiqueta.

  8. Ejecute el experimento.

Resultados del modelo de mínimos cuadrados

Una vez completado el entrenamiento:

  • Para ver los parámetros del modelo, haga clic con el botón derecho en la salida del entrenador y seleccione Visualize (Visualizar).

  • Para realizar predicciones, conecte el modelo entrenado al módulo Score Model (Modelo de puntuación) junto con un conjunto de datos de valores nuevos.

  • Para realizar la validación cruzada en un conjunto de datos etiquetado, conecte el modelo sin entrenar a Modelo de validación cruzada.

Creación de un modelo de regresión con gradiente descendiente en línea

  1. Agregue el módulo Modelo de regresión lineal al experimento en Studio (clásico).

    Puede encontrar este módulo en la categoría Machine Learning. Expanda Initialize Model (Inicializar modelo) y Regression (Regresión) y arrastre el módulo Linear Regression Model (Modelo de regresión lineal) al experimento.

  2. En la lista desplegable Solution method (Método de solución) del panel Properties (Propiedades), elija Online Gradient Descent (Gradiente descendiente en línea) como método de cálculo para buscar la recta de regresión.

  3. En Create trainer mode (Crear modo de entrenador), indique si desea entrenar el modelo con un conjunto de parámetros predefinido o si desea optimizarlo con un barrido de parámetros.

    • Single Parameter (Parámetro único): Si sabe cómo quiere configurar la red de regresión lineal, puede proporcionar un conjunto específico de valores como argumentos.

    • Intervalo de parámetros: si desea que el algoritmo encuentre los mejores parámetros, establezca la opción Create trainer mode (Crear modo de instructor) en Parameter Range (Intervalo de parámetros). A continuación, puede especificar varios valores para el algoritmo que se va a intentar.

  4. En Learning rate (Velocidad de aprendizaje), especifique la velocidad de aprendizaje inicial para el optimizador estocástico de gradiente descendiente.

  5. En Number of training epochs (Épocas de entrenamiento), escriba un valor que indique el número de veces que el algoritmo debe iterarse mediante ejemplos. Para conjuntos de datos con pocos ejemplos, este número debe ser grande para alcanzar la convergencia.

  6. Normalizar las características: si ya ha normalizado los datos numéricos que se usan para entrenar el modelo, puede anular la selección de esta opción. De forma predeterminada, el módulo normaliza todas las entradas numéricas a un intervalo de entre 0 y 1.

    Nota

    Recuerde aplicar el mismo método de normalización a los nuevos datos que use para la puntuación.

  7. En L2 regularization weight (Peso de regularización L2), escriba el valor que se usará como peso de regularización L2. Se recomienda usar un valor distinto de cero para evitar el sobreajuste.

    Para más información sobre cómo afecta la regularización al ajuste del modelo, consulte este artículo: Regularización L1 y L2 para Machine Learning

  8. Seleccione la opción Promedio de hipótesis final para promediar la hipótesis final.

    En los modelos de regresión, la prueba de hipótesis significa usar alguna estadística para evaluar la probabilidad de la hipótesis nula, que indica que no hay ninguna correlación lineal entre una variable dependiente e independiente. En muchos problemas de regresión, debe probar una hipótesis que implique más de una variable.

    Esta opción está habilitada de forma predeterminada, lo que significa que el algoritmo prueba una combinación de los parámetros en los que hay dos o más parámetros implicados.

  9. Seleccione la opción Decrease learning rate (Reducir velocidad de aprendizaje), si desea que la velocidad de aprendizaje se reduzca con las iteraciones.

  10. En Random number seed (Inicializar número aleatorio) también puede escribir un valor para inicializar el generador de números aleatorios que usa el modelo. Utilizar un valor de inicialización es útil si desea mantener los mismos resultados en distintas ejecuciones del mismo experimento.

  11. Anule la selección de la opción Permitir niveles de categorías desconocidos si desea que los valores que faltan generar un error.

    Cuando se selecciona esta opción, se crea un nivel adicional para cada columna de categorías. Los niveles del conjunto de datos de prueba que no están presentes en el conjunto de datos de entrenamiento se asignan a este nivel adicional.

  12. Agregue un conjunto de datos etiquetado y uno de los módulos de entrenamiento.

    Si no utiliza un barrido de parámetros, use el módulo Train Model (Entrenar modelo).

    Para que el algoritmo encuentre los mejores parámetros, entrena el modelo mediante Optimizar hiperparámetros del modelo.

    Nota:

    Si configura el modelo con valores específicos mediante la opción Parámetro único y, a continuación, cambia a la opción Intervalo de parámetros, el modelo se entrena con el valor mínimo del intervalo para cada parámetro.

    Por el contrario, si configura valores específicos al crear el modelo pero selecciona la opción Intervalo de parámetros, el modelo se entrena con los valores predeterminados para el aprendiz como el intervalo de valores que se van a barrido.

  13. Ejecute el experimento.

Resultados del gradiente descendiente en línea

Una vez completado el entrenamiento:

  • Para realizar predicciones, conecte el modelo entrenado al módulo Score Model (Modelo de puntuación) junto con los datos de entrada nuevos.
  • Para realizar la validación cruzada en un conjunto de datos etiquetado, conecte el modelo sin entrenar a Modelo de validación cruzada.

Ejemplos

Para obtener ejemplos de modelos de regresión, consulte estos experimentos de ejemplo en el Azure AI Gallery:

Notas técnicas

Esta sección contiene detalles de implementación, sugerencias y respuestas a las preguntas más frecuentes.

Consejos de uso

Muchas herramientas admiten la creación de regresión lineal, de las más simples a las más complejas. Por ejemplo, puede realizar fácilmente la regresión lineal en Excel, mediante la herramienta Solucionador, o bien puede codificar su propio algoritmo de regresión mediante R, Python o C#.

Sin embargo, dado que la regresión lineal es una técnica bien establecida que es compatible con muchas herramientas diferentes, hay muchas interpretaciones e implementaciones diferentes. No todos los tipos de modelos son compatibles igualmente con todas las herramientas. También hay algunas diferencias en la nomenclatura que se deben observar.

  • Los métodos de regresión suelen clasificarse por el número de variables de respuesta. Por ejemplo, la regresión lineal múltiple es un modelo que debe predecir más de una variable.

  • En MatLab, “regresión multivariante” hace referencia a un modelo que tiene varias variables de respuesta.

  • En Machine Learning, los modelos de regresión admiten una única variable de respuesta.

  • En el lenguaje R, las características que se proporcionan para la regresión lineal dependen del paquete que use. Por ejemplo, el paquete glm le dará la capacidad de crear un modelo de regresión logística con varias variables independientes. En general, Machine Learning Studio (clásico) proporciona la misma funcionalidad que el paquete glm de R.

Se recomienda usar este módulo, Regresión lineal, para problemas de regresión típicos.

Por el contrario, si usa varias variables para predecir un valor de clase, se recomiendan los módulos Regresión logística de dos clases o Regresión logística multiclase.

Si desea usar otros paquetes de regresión lineal disponibles para el lenguaje R, se recomienda usar el módulo Ejecutar script R y llamar a los paquetes lm o glm, que se incluyen en el entorno en tiempo de ejecución de Machine Learning Studio (clásico).

Parámetros del módulo

Nombre Intervalo Tipo Valor predeterminado Descripción
Normalizar características cualquiera Boolean true Indicar si se deben normalizar las instancias
Promediar hipótesis final cualquiera Boolean true Indicar si se debe promediar la hipótesis final
Velocidad de aprendizaje >=double.Epsilon Float 0,1 Especificar la velocidad de aprendizaje inicial para el optimizador de descenso de gradiente estocástico
Número de épocas de entrenamiento >=0 Entero 10 Especificar cuántas veces debe iterar el algoritmo a través de ejemplos. Para conjuntos de datos con pocos ejemplos, este número debe ser grande para alcanzar la convergencia.
Disminuir la velocidad de aprendizaje Any Boolean true Indicar si se debe reducir la velocidad de aprendizaje a medida que las iteraciones progresan
Peso de regularización L2 >=0,0 Float 0,001 Especificar el peso para la regularización L2. Usar un valor distinto de cero para evitar sobreajuste.
Valor de inicialización de números aleatorios cualquiera Entero Especificar un valor para inicializar el generador de números aleatorios usado por el modelo. Déjelo en blanco para usar el valor predeterminado.
Permitir niveles de categorías desconocidos cualquiera Boolean true Indicar si se debe crear un nivel adicional para cada columna de categorías. Los niveles del conjunto de datos de prueba no disponibles en el conjunto de datos de entrenamiento se asignan a este nivel adicional.
Incluir término de intercepción Any Boolean True Indicar si se debe agregar un término adicional para la intercepción

Salidas

Nombre Tipo Descripción
Modelo no entrenado Interfaz ILearner Un modelo de regresión no entrenado

Consulte también

Regresión