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.
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.
- 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
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
- Abre el repositorio en GitHub Codespaces
- El entorno se configurará automáticamente con todas las dependencias
- Espera a que termine la instalación
- ¡Listo para trabajar!
Requisitos Previos
- Python 3.11 o superior
- pip (gestor de paquetes de Python)
Pasos
- Clona el repositorio:
git clone https://github.com/DannyAIX/regresion-logistica.git
cd regresion-logistica- Crea un entorno virtual (opcional pero recomendado):
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate- Instala las dependencias:
pip install -r requirements.txt- Configura las variables de entorno (si es necesario):
cp .env.example .env
# Edita el archivo .env con tus credencialespython src/app.pyPara análisis exploratorio, utiliza el notebook Jupyter:
jupyter notebook src/explore.ipynb- Carga de Datos: Coloca tus datasets en
data/raw/ - Exploración: Usa
explore.ipynbpara análisis inicial - Preprocesamiento: Limpia y transforma los datos
- Modelado: Entrena el modelo de regresión logística
- Evaluación: Analiza métricas de rendimiento
- Guardado: Los modelos se guardan en
models/
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
- 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)
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}')- 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
Las contribuciones son bienvenidas. Para cambios importantes:
- Haz fork del proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add: nueva funcionalidad') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Este proyecto está basado en el template de 4Geeks Academy para el bootcamp de Data Science y Machine Learning.
DannyAIX
- GitHub: @DannyAIX
- 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