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.