Regresión Logística en Python

La regresión logística es un algoritmo de aprendizaje supervisado utilizado para problemas de clasificación binaria, donde el objetivo es predecir una variable de salida discreta que tiene dos clases posibles. Aquí te presento un ejemplo paso a paso de cómo realizar una regresión logística en Python utilizando la biblioteca Scikit-learn:


Importar las bibliotecas necesarias

import numpy

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report

Cargar los datos

Para este ejemplo, supongamos que tienes un archivo CSV con datos etiquetados. Puedes cargar los datos utilizando la biblioteca pandas:

data = pd.read_csv('datos.csv')

Preprocesar los datos

Antes de aplicar la regresión logística, es importante preprocesar los datos. Esto puede incluir el manejo de datos faltantes, la codificación de variables categóricas, la normalización de datos, etc. En este ejemplo, asumiremos que los datos ya están preprocesados y no hay valores faltantes.


Dividir los datos en conjuntos de entrenamiento y prueba

Para evaluar el rendimiento del modelo, dividiremos los datos en conjuntos de entrenamiento y prueba:

X = data.drop('clase', axis=1)  # Variables predictoras
y = data['clase']              # Variable de salida

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Crear y entrenar el modelo de regresión logística

model = LogisticRegression()
model.fit(X_train, y_train)

Realizar predicciones

y_pred = model.predict(X_test)

Evaluar el rendimiento del modelo

accuracy = accuracy_score(y_test, y_pred)
conf_matrix = confusion_matrix(y_test, y_pred)
report = classification_report(y_test, y_pred)

print("Exactitud:", accuracy)
print("Matriz de confusión:\n", conf_matrix)
print("Reporte de clasificación:\n", report)

Estos son los pasos básicos para realizar una regresión logística en Python. Es importante mencionar que, en problemas reales, es posible que se requiera realizar un ajuste más detallado del modelo y una selección adecuada de características. Además, el preprocesamiento de datos puede variar según el problema y el conjunto de datos.