Regresión logística de dos clases
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.
- Consulte la información acerca de traslado de proyectos de aprendizaje automático de ML Studio (clásico) a Azure Machine Learning.
- Más información sobre Azure Machine Learning.
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 logística de dos clases
Categoría: Machine Learning / Inicializar modelo / Clasificació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 logística de dos clases en Machine Learning Studio (clásico) para crear un modelo de regresión logística que se pueda usar para predecir dos (y solo dos) resultados.
La regresión logística es una técnica estadística conocida que se usa para el modelado de muchos tipos de problemas. Este algoritmo es un método de aprendizaje supervisado; por lo tanto, debe proporcionar un conjunto de datos que ya contengan los resultados para entrenar el modelo.
Más información sobre la regresión logística
La regresión logística es un método conocido en estadística que se usa para predecir la probabilidad de un resultado y es especialmente popular para las tareas de clasificación. El algoritmo predice la probabilidad de aparición de un evento ajustando los datos a una función logística. Para ver detalles sobre esta implementación, consulte la sección Notas técnicas.
En este módulo, el algoritmo de clasificación se optimiza para las variables dicotómicas o binarias. Si necesita clasificar varios resultados, use el módulo Multiclass Logistic Regression (Regresión logística multiclase).
Configuración de la Two-Class logística
Para entrenar este modelo, debe proporcionar un conjunto de datos que contenga una columna de etiqueta o clase. Dado que este módulo está pensado para problemas de dos clases, la columna de etiqueta o clase debe contener exactamente dos valores.
Por ejemplo, la columna de etiqueta podría ser [Votado] con los valores posibles "Sí" o "No". O bien, podría ser [Riesgo de crédito,] con los valores posibles "Alto" o "Bajo".
Agregue el módulo Regresión logística de dos clases al experimento en Studio (clásico).
Especifique cómo quiere que se entrene el modelo, estableciendo la opción Create trainer mode (Crear modo entrenador).
Single Parameter (Parámetro único): Si sabe cómo quiere configurar el modelo, puede proporcionar un conjunto específico de valores como argumentos.
Intervalo de parámetros: si no está seguro de los mejores parámetros, puede encontrar los parámetros óptimos especificando varios valores y usando el módulo Optimizar hiperparámetros del modelo para encontrar la configuración óptima. El instructor recorre en iteración varias combinaciones de la configuración y determina la combinación de valores que genera el mejor modelo.
Para Optimization tolerance (Tolerancia de optimización), especifique un valor de umbral que se usará al optimizar el modelo. Si la mejora entre iteraciones cae por debajo del umbral especificado, se considera que el algoritmo ha convergido en una solución y el entrenamiento se detiene.
Para L1 regularization weight (Peso de regularización L1) y L2 regularization weight (Peso de regularización L2), escriba un valor que se usará para los parámetros de regularización L1 y L2. Se recomienda un valor distinto de cero para ambos.
La regularización es un método para evitar el sobreajuste mediante la penalización de modelos con valores de coeficiente extremos. La regularización funciona agregando la penalización asociada a los valores de coeficiente al error de la hipótesis. Por lo tanto, un modelo preciso con valores de coeficiente extremos se penalizaría más y un modelo menos preciso con valores más conservadores se penalizaría menos.
Las regularizaciones L1 y L2 tienen efectos y usos diferentes.
L1 puede aplicarse a modelos dispersos, lo que resulta útil cuando se trabaja con datos muy dimensionales.
En cambio, la regularización L2 es preferible para los datos que no están dispersos.
Este algoritmo es compatible con una combinación lineal de los valores de regularización L1 y L2: es decir, si
x = L1
yy = L2
,ax + by = c
define el intervalo lineal de los términos de regularización.Nota
¿Desea obtener más información sobre las regularizaciones L1 y L2? En el siguiente artículo se proporciona una explicación de las diferencias entre las regularizaciones L1 y L2 y cómo afectan al ajuste del modelo, con códigos de ejemplo para los modelos de red neuronal y regresión logística: Regularización L1 y L2 para Machine Learning
Se han diseñado diferentes combinaciones lineales de los términos de L1 y L2 para los modelos de regresión logística: por ejemplo, regularización elástica neta. Se recomienda hacer referencia a estas combinaciones para definir una combinación lineal que sea efectiva en el modelo.
Para Memory size for L-BFGS (Tamaño de memoria para L-BFGS), especifique la cantidad de memoria que se usará para la optimización de L-BFGS.
L-BFGS significa "limited memory Broyden-Fletcher-Goldfarb-Shanno". Es un algoritmo de optimización que es popular para la estimación de parámetros. Este parámetro indica el número de gradientes y posiciones anteriores que se deben almacenar para el cálculo del siguiente paso.
Este parámetro de optimización limita la cantidad de memoria que se usa para calcular el siguiente paso y la dirección. Cuando especifica menos memoria, el entrenamiento es más rápido, pero menos preciso.
Para Random number seed (Inicialización de número aleatorio), escriba un valor entero. Definir un valor de inicialización es importante si desea que los resultados se puedan reproducir a través de varias ejecuciones del mismo experimento.
Seleccione la opción Permitir niveles de categorías desconocidos para crear un nivel "desconocido" adicional en cada columna de categorías. Si lo hace, los valores (niveles) del conjunto de datos de prueba que no estén disponibles en el conjunto de datos de entrenamiento se asignarán a este nivel "desconocido".
Agregue un conjunto de datos etiquetado al experimento y conecte uno de los módulos de aprendizaje.
Si establece Create trainer mode (Crear modo entrenador) en Single Parameter (Parámetro único), use el módulo Entrenar modelo.
Si establece Create trainer mode (Crear modo entrenador) para Parameter Range (Intervalo de parámetros), use el módulo Optimizar los hiperparámetros del modelo.
Nota:
Si pasa un intervalo de parámetros a Entrenar modelo, solo usará el primer valor de la lista de intervalos de parámetros.
Si pasa un único conjunto de valores de parámetro al módulo Optimizar hiperparámetros del modelo, cuando espera un intervalo de valores para cada parámetro, omite los valores y usa los valores predeterminados para el aprendiz.
Si selecciona la opción Intervalo de parámetros y escribe un valor único para cualquier parámetro, ese valor único especificado se usará a lo largo del barrido, incluso si otros parámetros cambian en un intervalo de valores.
Ejecute el experimento.
Results
Una vez completado el entrenamiento:
Para ver un resumen de los parámetros del modelo, junto con los pesos de características aprendidos en el entrenamiento, haga clic con el botón derecho en la salida de Train Model (Entrenar modelo) o Tune Model Hyperparameters (Optimizar hiperparámetros del modelo) y seleccione Visualize (Visualizar).
Para realizar predicciones sobre nuevos datos, use el modelo entrenado y los nuevos datos como entrada para el módulo Puntuar modelo.
Para realizar la validación cruzada en un conjunto de datos etiquetado, conecte los datos y el modelo no entrenado a Validar modelo de forma cruzada.
Ejemplos
Para obtener ejemplos de cómo se usa este algoritmo de aprendizaje, consulte el Azure AI Gallery:
Detección de intrusiones de red: usa la regresión logística binaria para determinar si un caso representa una intrusión.
Validación cruzada para clasificador binario: muestra el uso de la regresión logística en un flujo de trabajo experimental típico, incluida la evaluación del modelo.
Notas técnicas
Esta sección contiene detalles de implementación, sugerencias y respuestas a las preguntas más frecuentes.
Consejos de uso
La regresión logística requiere variables numéricas. Por lo tanto, cuando se usan columnas de categorías como variable, Machine Learning convierte los valores en una matriz de indicadores internamente.
Para fechas y horas, se usa una representación numérica. (Para obtener más información sobre los valores de fecha y hora, vea DateTime Structure (.NET Framework) - Remarks). Si desea controlar las fechas y horas de forma diferente, se recomienda crear una columna derivada.
Detalles de la implementación
La regresión logística supone una distribución logística de los datos, donde la probabilidad de que un ejemplo pertenezca a la clase 1 es la fórmula:
p(x;β0,…, βD-1)
Donde:
x
es un vector dimensional D que contiene los valores de todas las características de la instancia.p
es la función de distribución logística.β{0},..., β {D-1}
son los parámetros desconocidos de la distribución logística.
El algoritmo intenta encontrar los valores óptimos para β{0},..., β {D-1}
maximizando la probabilidad de registro de los parámetros dadas las entradas. La maximización se realiza mediante un método popular para la estimación de parámetros, denominado BFGS de memoria limitada.
Investigación
Para obtener más información sobre la implementación de este algoritmo, vea Entrenamiento escalable de modelos de Log-Linear regularizados L-1, por Andrew y Gao.
Parámetros del módulo
Nombre | Intervalo | Tipo | Valor predeterminado | Descripción |
---|---|---|---|---|
Tolerancia de optimización | >=double.Epsilon | Float | 0.0000001 | Especificar un valor de tolerancia para el optimizador BFGS L |
Peso de regularización L1 | >=0,0 | Float | 1,0 | Especifique el peso de regularización L1. |
Peso de regularización L2 | >=0,0 | Float | 1,0 | Especificar el peso de regularización L2 |
Tamaño de memoria para L-BFGS | >=1 | Entero | 20 | Especifique la cantidad de memoria (en MB) que se usará para el optimizador de L-BFGS. |
Valor de inicialización de números aleatorios | Any | Entero | Escribir 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 | Any | Boolean | True | Indicar si se debe crear un nivel adicional para cada columna de categorías. Los niveles del conjunto de datos de prueba que no están disponibles en el conjunto de datos de entrenamiento se asignan a este nivel adicional. |
Output
Nombre | Tipo | Descripción |
---|---|---|
Modelo no entrenado | Interfaz ILearner | Un modelo de clasificación no entrenado |