Skip to content

DannyAIX/regresion-logistica

Repository files navigation

Proyecto de Regresión Logística

Proyecto de Machine Learning enfocado en la implementación y análisis de modelos de regresión logística para problemas de clasificación binaria.

📋 Descripción

Este proyecto implementa modelos de regresión logística utilizando Python y bibliotecas de ciencia de datos. El objetivo es proporcionar una estructura clara y organizada para el desarrollo de proyectos de clasificación, desde la exploración inicial de datos hasta el entrenamiento y evaluación de modelos.

🚀 Características

  • Exploración y análisis de datos (EDA)
  • Preprocesamiento y limpieza de datos
  • Entrenamiento de modelos de regresión logística
  • Evaluación de rendimiento del modelo
  • Visualizaciones y métricas de clasificación
  • Estructura de proyecto modular y escalable

📁 Estructura del Proyecto

regresion-logistica/
│
├── src/
│   ├── app.py              # Script principal del proyecto
│   ├── explore.ipynb       # Notebook para exploración de datos
│   └── utils.py            # Funciones auxiliares
│
├── data/
│   ├── raw/                # Datos sin procesar
│   ├── interim/            # Datos en transformación
│   └── processed/          # Datos listos para modelado
│
├── models/                 # Modelos entrenados guardados
│
├── .devcontainer/          # Configuración de desarrollo
├── .vscode/                # Configuración de VS Code
├── requirements.txt        # Dependencias del proyecto
└── README.md              # Este archivo

🔧 Instalación

Opción 1: Usando GitHub Codespaces (Recomendado)

  1. Abre el repositorio en GitHub Codespaces
  2. El entorno se configurará automáticamente con todas las dependencias
  3. Espera a que termine la instalación
  4. ¡Listo para trabajar!

Opción 2: Instalación Local

Requisitos Previos

  • Python 3.11 o superior
  • pip (gestor de paquetes de Python)

Pasos

  1. Clona el repositorio:
git clone https://github.com/DannyAIX/regresion-logistica.git
cd regresion-logistica
  1. Crea un entorno virtual (opcional pero recomendado):
python -m venv venv
source venv/bin/activate  # En Windows: venv\Scripts\activate
  1. Instala las dependencias:
pip install -r requirements.txt
  1. Configura las variables de entorno (si es necesario):
cp .env.example .env
# Edita el archivo .env con tus credenciales

💻 Uso

Ejecutar el Script Principal

python src/app.py

Exploración de Datos

Para análisis exploratorio, utiliza el notebook Jupyter:

jupyter notebook src/explore.ipynb

Flujo de Trabajo Típico

  1. Carga de Datos: Coloca tus datasets en data/raw/
  2. Exploración: Usa explore.ipynb para análisis inicial
  3. Preprocesamiento: Limpia y transforma los datos
  4. Modelado: Entrena el modelo de regresión logística
  5. Evaluación: Analiza métricas de rendimiento
  6. Guardado: Los modelos se guardan en models/

📊 Modelos y Técnicas

Este proyecto implementa:

  • Regresión Logística: Clasificación binaria usando sklearn
  • Métricas de Evaluación:
    • Precisión (Accuracy)
    • Precisión (Precision)
    • Recall (Sensibilidad)
    • F1-Score
    • Curva ROC y AUC
    • Matriz de Confusión

🛠️ Tecnologías Utilizadas

  • Python 3.11+
  • pandas: Manipulación de datos
  • numpy: Operaciones numéricas
  • scikit-learn: Machine Learning
  • matplotlib/seaborn: Visualizaciones
  • jupyter: Notebooks interactivos
  • SQLAlchemy: Gestión de bases de datos (opcional)

📈 Ejemplo de Uso

import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

# Cargar datos
df = pd.read_csv('data/raw/dataset.csv')

# Dividir datos
X = df.drop('target', axis=1)
y = df['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# Entrenar modelo
model = LogisticRegression()
model.fit(X_train, y_train)

# Evaluar
score = model.score(X_test, y_test)
print(f'Precisión: {score:.2f}')

🔍 Próximos Pasos

  • Implementar validación cruzada
  • Agregar regularización (L1/L2)
  • Comparar con otros modelos de clasificación
  • Optimizar hiperparámetros con GridSearchCV
  • Crear pipeline de preprocesamiento
  • Implementar feature engineering

🤝 Contribuciones

Las contribuciones son bienvenidas. Para cambios importantes:

  1. Haz fork del proyecto
  2. Crea una rama para tu feature (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add: nueva funcionalidad')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

📝 Licencia

Este proyecto está basado en el template de 4Geeks Academy para el bootcamp de Data Science y Machine Learning.

👤 Autor

DannyAIX

🙏 Agradecimientos

  • 4Geeks Academy por el template base
  • Comunidad de Data Science
  • Contribuidores del proyecto

⭐️ Si este proyecto te resultó útil, considera darle una estrella en GitHub

About

Proyecto de Machine Learning enfocado en la implementación y análisis de modelos de regresión logística para problemas de clasificación binaria.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors