4. Regresión Logística (Aprendizaje Supervisado)
Aplicación Práctica: Regresión Logística (Aprendizaje Supervisado)
La regresión logística es un algoritmo de aprendizaje supervisado utilizado principalmente para problemas de clasificación. Aunque su nombre incluye "regresión", se emplea para predecir la probabilidad de que una observación pertenezca a una categoría específica, no para predecir valores continuos como en la regresión lineal.
En esencia, la regresión logística modela la relación entre una variable dependiente categórica (la variable de respuesta o la clase a predecir) y una o más variables independientes (predictoras o características) mediante el uso de la función logística o sigmoide. Esta función transforma la salida de una combinación lineal de las variables independientes en un valor entre 0 y 1, que representa la probabilidad de que la observación pertenezca a una determinada clase.
El proceso de entrenamiento de un modelo de regresión logística implica ajustar los parámetros del modelo para minimizar la discrepancia entre las probabilidades predichas y las clases reales observadas en los datos de entrenamiento. Se utiliza la función de pérdida logarítmica (también conocida como entropía cruzada) para calcular la diferencia entre las probabilidades predichas y las clases reales y así actualizar los parámetros del modelo durante el entrenamiento.
Una vez entrenado, el modelo puede predecir la clase a la que pertenece una nueva observación basándose en las características proporcionadas. La evaluación de la eficacia de un modelo de regresión logística suele realizarse utilizando métricas como la precisión, el área bajo la curva ROC (Receiver Operating Characteristic), la sensibilidad, la especificidad, entre otras, dependiendo del contexto del problema de clasificación.
El entrenamiento de un modelo de regresión logística implica ajustar sus parámetros utilizando un conjunto de datos etiquetados. Aquí hay un resumen paso a paso de cómo se entrena:
1. Preparación de datos:
- Datos etiquetados: Necesitas un conjunto de datos con características (variables independientes) y las etiquetas correspondientes (la variable dependiente que se quiere predecir).
- División de datos: Por lo general, se divide el conjunto de datos en datos de entrenamiento y datos de prueba/validación para evaluar el rendimiento del modelo después del entrenamiento.
2. Selección de características:
- Identifica las características relevantes que pueden ayudar al modelo a predecir con precisión la variable de respuesta.
3. Definición del modelo:
- Establece el modelo de regresión logística. Este modelo asume una relación lineal entre las características y la probabilidad logarítmica de pertenecer a una clase.
4. Inicialización de parámetros:
- Inicializa los parámetros del modelo, como los pesos para cada característica, con valores aleatorios o ceros.
5. Entrenamiento del modelo:
- Propagación hacia adelante (forward propagation): Calcula la salida del modelo para las características de entrenamiento utilizando la función sigmoide aplicada a la combinación lineal de las características y los pesos.
- Cálculo de la pérdida (loss): Utiliza una función de pérdida (como la entropía cruzada) para medir la discrepancia entre las probabilidades predichas y las etiquetas reales.
- Propagación hacia atrás (backpropagation): Ajusta los pesos del modelo utilizando algoritmos de optimización (como el descenso de gradiente) para minimizar la función de pérdida. Se calculan las derivadas parciales de la función de pérdida con respecto a los parámetros y se actualizan los pesos en la dirección que minimiza la pérdida.
- Iteración: Repite este proceso de ajuste de pesos durante múltiples épocas (iteraciones) hasta que el modelo converja o se alcance un criterio de detención.
6. Validación y Evaluación:
- Una vez entrenado, se evalúa el modelo utilizando datos de prueba para medir su rendimiento en la clasificación de nuevas observaciones. Se calculan métricas como precisión, recall, F1-score, curvas ROC, etc.
7. Ajuste de hiperparámetros:
- Opcionalmente, se puede realizar la búsqueda de hiperparámetros para encontrar la configuración óptima del modelo, como la tasa de aprendizaje, regularización, entre otros.
Este proceso iterativo de ajuste de parámetros mediante el descenso de gradiente se repite hasta que el modelo alcance un rendimiento satisfactorio en los datos de prueba.
Ejemplo 1:
Primero, aquí hay un ejemplo básico para crear un dataset de educación superior y entrenar un modelo de regresión logística:
https://colab.research.google.com/drive/1a_O39OaaGWz5rOksDx21Efdbanbt1A-H?usp=sharing
Vamos a abordar un caso de estudio de clasificación binaria para diagnosticar el rendimiento académico de los estudiantes. Utilizaremos un conjunto de datos ficticio que contiene características de los estudiantes y su rendimiento académico (alta o baja categoría de rendimiento).
El objetivo es predecir si un estudiante tendrá un rendimiento académico alto o bajo basándose en características como horas de estudio, asistencia, participación, etc.
Primero, cargaremos los datos y realizaremos un análisis exploratorio:
Después de explorar los datos, procederemos a entrenar un modelo de clasificación (usando un árbol de decisiones en este caso):
Ejemplo completo ejecutable en Google Colab. Utilizaremos un conjunto de datos ficticio y lo guardaré como un archivo CSV.
Primero, generemos y guardemos el conjunto de datos:
Ahora, para descargar el archivo CSV generado, puedes utilizar el siguiente código en Google Colab:
Estos códigos generan un conjunto de datos ficticio con características de estudiantes y su rendimiento, y luego descargan el archivo CSV generado. Puedes ejecutarlos en Google Colab para obtener el archivo CSV y usarlo en tu análisis o proyecto.
Vamos a visualizar algunas relaciones entre las variables del conjunto de datos simulado y la categoría de rendimiento académico utilizando gráficos. En este caso, utilizaremos Regresión Logística para la clasificación y luego graficaremos algunas de las relaciones con la variable objetivo.
Resultado
Estos gráficos, como el de caja para las horas de estudio y el de violín para la asistencia, ayudarán a visualizar cómo se relacionan estas variables con la categoría de rendimiento académico. Además, la matriz de confusión y el reporte de clasificación ofrecen información sobre el desempeño del modelo de Regresión Logística en la predicción de las categorías de rendimiento académico.
https://colab.research.google.com/drive/1a_O39OaaGWz5rOksDx21Efdbanbt1A-H?usp=sharing
Para evaluar el modelo, observamos la matriz de confusión y las métricas de clasificación como precisión, recall y F1-score. Veamos cómo se interpretan los coeficientes y evaluemos el modelo en base a las predicciones:
Resultados
Coeficientes del modelo: Hours_Study_Week Attendance Participation Exam_Scores 0 0.006336 0.876166 -0.259625 -0.059302 Matriz de Confusión: [[54 46] [59 41]] Reporte de Clasificación: precision recall f1-score support Alto 0.48 0.54 0.51 100 Bajo 0.47 0.41 0.44 100 accuracy 0.48 200 macro avg 0.47 0.47 0.47 200 weighted avg 0.47 0.47 0.47 200
Los coeficientes mostrados representan la relación de cada característica con la variable objetivo (rendimiento académico) en términos de log-odds. Un coeficiente positivo indica que a medida que la característica aumenta, aumenta la probabilidad logarítmica de pertenecer a la categoría predeterminada, y viceversa para coeficientes negativos.
La matriz de confusión y el reporte de clasificación nos proporcionan información sobre el rendimiento del modelo, como la precisión (proporción de predicciones correctas), recall (proporción de positivos reales que se identificaron correctamente) y F1-score (media harmónica entre precisión y recall).
.png)
.png)
.png)
.png)
Comentarios
Publicar un comentario