Proyecto de Machine Learning y Procesamiento de Lenguaje Natural desarrollado en Python. El notebook principal implementa análisis de datos, modelos de clasificación con scikit-learn, y procesamiento de texto usando NLTK, Gensim y LangChain.
grupo3-modulo2-final.ipynb- Notebook principal del proyecto
- Python 3.8 o superior
- Anaconda o Miniconda
- pip (gestor de paquetes de Python)
- Git
# 1. Clona el repositorio
git clone [URL-de-tu-repositorio]
cd [nombre-del-repositorio]
# 2. Abre Anaconda Prompt (NO CMD de Windows)
# 3. Navega al proyecto
cd "ruta/completa/al/proyecto"
# 4. Configuración completa automática
setup_anaconda.bat# En Anaconda Prompt
make setup# En Anaconda Prompt
pip install pip-tools
pip-compile requirements.in
pip install -r requirements.txt
python check_versions.py# Opción 1: Abrir el notebook específico
jupyter notebook grupo3-modulo2-final.ipynb
# Opción 2: Abrir Jupyter y navegar al archivo
jupyter notebook
# Opción 3: Usar make
make notebook# Verificar que todas las librerías funcionan
python check_versions.py
# O usar make
make checkmake help- Muestra todos los comandos disponiblesmake setup- Configuración completa del proyectomake check- Verificar versiones instaladasmake test- Probar todas las importacionesmake notebook- Iniciar Jupyter con el notebookmake clean- Limpiar archivos temporalesmake update_dependencies- Actualizar requirements.txt
setup_anaconda.bat- Configuración completa automáticapython check_versions.py- Verificar instalación
├── grupo3-modulo2-final.ipynb # Notebook principal
├── requirements.in # Dependencias principales
├── requirements.txt # Dependencias completas (generado)
├── setup_anaconda.bat # Script de configuración
├── check_versions.py # Script de verificación
├── Makefile # Comandos automatizados
├── .gitignore # Archivos ignorados por Git
├── CODEOWNERS # Propietarios del código
└── README.md # Este archivo
| Librería | Versión | Propósito |
|---|---|---|
| pandas | 2.2.2 | Análisis de datos |
| numpy | 1.26.4 | Cálculos numéricos |
| scikit-learn | 1.5.1 | Machine Learning |
| matplotlib | 3.9.2 | Visualización |
| seaborn | 0.13.2 | Visualización estadística |
| nltk | 3.9.1 | Procesamiento de lenguaje natural |
| gensim | 4.3.3 | Modelado de temas |
| langchain | 0.3.25 | Procesamiento de texto avanzado |
- Sube el notebook
grupo3-modulo2-final.ipynba Google Colab - Sube también el archivo
requirements.txt - En la primera celda ejecuta:
!pip install -r requirements.txt- Ejecuta el notebook normalmente
- Sube el notebook a Kaggle
- La mayoría de dependencias ya están instaladas
- Para dependencias faltantes:
!pip install langchain gensim- Ejecuta el notebook
Sigue las instrucciones de instalación y ejecuta jupyter notebook
- Abre Anaconda Navigator
- Instala las dependencias usando Anaconda Prompt
- Abre Jupyter desde Navigator
- Navega al notebook
python check_versions.pymake test# Ejecuta en Python/Jupyter
from datetime import datetime
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from langchain.text_splitter import SentenceTransformersTokenTextSplitter
import nltk, gensim
print("✅ Todas las importaciones funcionan")Error: "make no se reconoce"
- Solución: Usa
setup_anaconda.baten lugar de make
Error: "conda no disponible"
- Solución: Ejecuta desde Anaconda Prompt, no desde CMD
Error: "ModuleNotFoundError"
- Solución: Ejecuta
setup_anaconda.batopip install -r requirements.txt
Error con NLTK data
- Solución: Ejecuta
make nltk-setupo el script manual:
import nltk
nltk.download('punkt')
nltk.download('stopwords')
nltk.download('wordnet')# Si necesitas agregar nuevas librerías:
# 1. Agrégalas a requirements.in
# 2. Ejecuta:
make update_dependencies
make installEste proyecto está configurado para ser 100% reproducible:
- ✅ Versiones específicas de todas las dependencias
- ✅ Scripts de configuración automática
- ✅ Verificación de instalación
- ✅ Documentación completa
- ✅ Compatible con múltiples plataformas
- Fork el repositorio
- Crea una rama para tu feature:
git checkout -b feature/nueva-funcionalidad - Realiza tus cambios y haz commit
- Push de tu rama:
git push origin feature/nueva-funcionalidad - Crea un Pull Request en GitHub
- @alonso666cr debe aprobar antes del merge (obligatorio)
- Solo después de aprobación se puede hacer merge
IMPORTANTE: Para activar restricciones automáticas, @alonso666cr debe:
- Ir a Settings → Branches en GitHub
- Añadir regla para rama
main - Marcar "Require review from CODEOWNERS"
- Esto bloquea todos los merges sin aprobación
Estado actual:
- ✅ CODEOWNERS configurado para @alonso666cr
- ⚙️ Branch Protection Rules: Configurar manualmente en GitHub
Sin Branch Protection: CODEOWNERS solo sugiere @alonso666cr como revisor
Con Branch Protection: Bloquea automáticamente merges sin aprobación de @alonso666cr
- Siempre usar Anaconda Prompt para comandos de instalación
- El proyecto está optimizado para el entorno Anaconda
- Todas las versiones están probadas y funcionando
- El notebook incluye procesamiento de texto avanzado con LangChain
Si encuentras problemas:
- Ejecuta
python check_versions.pypara diagnosticar - Ejecuta
setup_anaconda.batpara reconfigurar - Revisa la sección Troubleshooting arriba
- Verifica que estés usando Anaconda Prompt
[Tu información de contacto]
[Especifica tu licencia aquí]