Democratizando el descubrimiento de exoplanetas mediante Machine Learning
- Resumen
- Demostración
- ¿Cómo Funciona?
- Beneficios Clave
- Impacto Esperado
- Stack Tecnológico
- Aspectos Innovadores
- Instalación Rápida
- Uso de Inteligencia Artificial
- Fuentes de Datos
- Contribuir
- Licencia
ExoPlanets-AI es una plataforma web full-stack impulsada por inteligencia artificial que democratiza el descubrimiento de exoplanetas mediante modelos de Machine Learning de alto rendimiento.
Desarrollamos tres clasificadores especializados entrenados con datos reales de las misiones espaciales:
| Misión | Precisión | Objetos Analizados |
|---|---|---|
| Kepler | 94% | 9,564+ |
| K2 | 97% | 2,398+ |
| TESS | 77% | 15,314+ |
Nuestros modelos están optimizados con algoritmos LightGBM (Gradient Boosting) para maximizar la detección y reducir falsos positivos.
La plataforma resuelve el desafío de analizar grandes volúmenes de datos astronómicos al permitir que investigadores y entusiastas:
- 📤 Suban archivos CSV con curvas de luz
- 🤖 Obtengan predicciones automáticas en tres categorías:
- ✅ Exoplanetas confirmados
- 🔍 Candidatos prometedores
- ❌ Falsos positivos
- 📊 Visualicen resultados en una interfaz intuitiva con estética espacial
Este proyecto acelera la identificación de nuevos mundos, traduce datos complejos en conocimiento accesible y promueve la colaboración científica ciudadana en la exploración más allá del sistema solar.
Visita nuestra demo interactiva: exoplanet-ai.ngrok.app
- Interfaz Espacial Inmersiva: Starfield animado con efectos glassmorphism
- Análisis en Tiempo Real: Procesamiento de CSV en segundos
- Dashboard Interactivo: Visualización de predicciones con Recharts
- Autenticación Segura: Integración con Clerk
- Responsive Design: Optimizado para todos los dispositivos
El sistema utiliza tres modelos LightGBM especializados, entrenados con más de 27,000 objetos astronómicos del NASA Exoplanet Archive.
1️⃣ Usuario selecciona misión (Kepler, TESS o K2)
⬇️
2️⃣ Carga archivo CSV con curvas de luz
⬇️
3️⃣ Preprocesamiento automático
• Transformaciones logarítmicas
• Normalización de datos
⬇️
4️⃣ Feature Engineering (50+ características)
• Ratios orbitales
• Métricas de tránsito
• Indicadores físicos
⬇️
5️⃣ Clasificación con modelo especializado
• LightGBM optimizado por misión
• Probabilidades de cada clase
⬇️
6️⃣ Resultados visualizados
✅ Confirmados | 🔍 Candidatos | ❌ Falsos Positivos
El sistema genera automáticamente más de 50 características avanzadas, incluyendo:
- Ratios Físicos:
koi_depth / koi_prad,koi_period / koi_duration - Métricas de Tránsito: Profundidad, duración, forma
- Parámetros Orbitales: Período, semieje mayor, excentricidad
- Indicadores de Confianza: Signal-to-noise ratio, estadísticas χ²
| Beneficio | Impacto |
|---|---|
| ⚡ Velocidad | Reduce de semanas a minutos el análisis de datos astronómicos |
| 🌍 Democratización | Acceso a herramientas de detección profesional sin requisitos técnicos |
| 🎨 Usabilidad | Interfaz intuitiva, sin necesidad de programación |
| 📈 Escalabilidad | Procesamiento por lotes de miles de objetos simultáneamente |
| 🤝 Ciencia Ciudadana | Fomenta la participación pública en descubrimientos científicos |
ExoPlanets-AI busca acelerar el descubrimiento de exoplanetas, permitiendo que astrónomos profesionales y aficionados analicen grandes catálogos de datos de forma eficiente.
- 🔭 Priorizar candidatos prometedores para observaciones espectroscópicas de seguimiento
- 📚 Contribuir al entendimiento de la distribución planetaria en la galaxia
- 🚀 Impulsar la colaboración entre instituciones científicas y comunidades de astrónomos aficionados
- 🌌 Facilitar el análisis de datos de futuras misiones espaciales
├── Next.js 15 (App Router, RSC)
├── React 19 (Suspense, Transitions)
├── TypeScript 5.7 (Strict mode)
├── Tailwind CSS 4 (JIT compiler)
├── Framer Motion (Animaciones)
└── Recharts (Visualización de datos)├── Python 3.13
├── FastAPI (API REST)
├── Uvicorn (ASGI server)
├── LightGBM (Clasificación)
└── pandas + NumPy (Procesamiento)├── LightGBM (Gradient Boosting)
├── scikit-learn (Pipeline)
├── pandas (DataFrames)
├── NumPy (Arrays)
└── Matplotlib + Seaborn (Visualización)
├── PostgreSQL (Supabase)
├── Drizzle ORM
└── Clerk (Auth)
├── Vercel (Frontend)
├── Vercel Serverless (Backend)
├── Git + GitHub
└── npm + pip
Tres clasificadores independientes, cada uno optimizado según las características únicas de su misión espacial:
- Kepler: Optimizado para curvas de luz de larga duración (4 años)
- K2: Adaptado a datos con mayor ruido instrumental
- TESS: Especializado en tránsitos de objetos brillantes
Creación de ratios físicamente significativos que capturan relaciones orbitales complejas:
# Ejemplos de características derivadas
depth_to_radius_ratio = koi_depth / (koi_prad ** 2)
period_to_duration_ratio = koi_period / koi_duration
impact_parameter = koi_impact * (1 + koi_prad / koi_srad)Interfaz con starfield animado, efectos glassmorphism y tema oscuro inspirado en observatorios astronómicos reales.
Procesamiento end-to-end de archivos CSV heterogéneos con lectura automática de metadatos y detección de columnas relevantes.
Diseño serverless preparado para múltiples usuarios simultáneos con optimización de recursos.
| Factor | Estrategia |
|---|---|
| Precisión vs. Interpretabilidad | Equilibrio entre alto rendimiento (94–97%) y modelos explicables |
| Escalabilidad | Arquitectura serverless con auto-scaling |
| Accesibilidad | Diseño responsive, controles intuitivos, paleta de alto contraste |
| Validación Científica | Cross-validation rigurosa y métricas ajustadas a conjuntos desbalanceados |
| Optimización Web | Bundle size reducido, lazy loading, SSR para máximo rendimiento |
- Node.js 18+ y npm
- Python 3.10+
- Git
git clone https://github.com/MiloAgudelo/ExoPlanets-AI.git
cd ExoPlanets-AIcd backend
# Windows PowerShell
.\start.ps1
# Windows CMD
start.bat
# Linux/Mac
chmod +x start.sh
./start.shcd backend
# Crear entorno virtual
python -m venv venv
# Activar entorno
# Windows PowerShell:
.\venv\Scripts\Activate.ps1
# Windows CMD:
venv\Scripts\activate.bat
# Linux/Mac:
source venv/bin/activate
# Instalar dependencias
pip install -r requirements.txt
# Ejecutar servidor
uvicorn api.index:app --reload --port 8000El backend estará disponible en: http://localhost:8000
cd frontend
# Instalar dependencias
npm install --legacy-peer-deps
# Configurar variables de entorno
echo "NEXT_PUBLIC_API_URL=http://localhost:8000" > .env.local
# Ejecutar en desarrollo
npm run devEl frontend estará disponible en: http://localhost:3000
Crea un archivo .env.local en la carpeta frontend:
# API
NEXT_PUBLIC_API_URL=http://localhost:8000
# Supabase (opcional)
DATABASE_URL=tu_url_de_supabase
# Clerk (opcional)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=tu_clerk_key
CLERK_SECRET_KEY=tu_clerk_secret- Abre http://localhost:3000
- Navega a "Analizar Datos" o "Asistente IA"
- Sube un archivo CSV de prueba (disponible en
ml-pipeline/sample_data.csv) - Verifica que las predicciones se generen correctamente
ExoPlanets-AI integra herramientas de inteligencia artificial como Cursor, GitHub Copilot, Claude AI, ChatGPT 5 (OpenAI API) y Gemini, empleadas exclusivamente para aumentar la productividad y precisión durante el desarrollo.
- ✅ Asistencia en la generación de boilerplate TypeScript y Python
- ✅ Sugerencias para la implementación de componentes React y optimización de estados
- ✅ Mejora de queries SQL y funciones de preprocesamiento de datos
- ✅ Depuración y resolución de errores de compatibilidad en entornos Next.js / FastAPI
Metadata: Todos los archivos fuente incluyen comentarios que identifican secciones asistidas por IA.
Los clasificadores son redes de decisión basadas en algoritmos de gradient boosting entrenadas sobre 27,000+ objetos astronómicos del NASA Exoplanet Archive.
- ✅ Entrenamiento supervisado, con documentación completa de precisión, matrices de confusión y feature importance
- ✅ Transparencia: Los reportes de entrenamiento y validación se incluyen en la documentación técnica
- ❌ No IA Generativa: Los modelos no crean contenido sintético; únicamente clasifican datos reales de observaciones astronómicas
- ✅ Generación y edición de archivos README, guías técnicas y documentación bilingüe (inglés / español)
- ✅ Revisión de redacción técnica, estructura narrativa y consistencia terminológica
Metadata: Cada archivo de documentación incluye una nota que indica asistencia parcial de IA.
NO se utilizó inteligencia artificial para:
- ❌ Creación de imágenes (el logotipo empleado es propiedad de NASA, no del proyecto)
- ❌ Generación de video o audio
- ❌ Modificación de elementos de marca oficiales
- ❌ Producción de datos sintéticos o aumentación de datasets
El concepto general, la arquitectura del sistema, el diseño de las características de Machine Learning y la lógica de negocio son completamente originales.
Las herramientas de IA fueron utilizadas como asistentes de productividad, no como reemplazo de la creatividad, razonamiento científico o desarrollo técnico independiente del equipo.
| Dataset | Objetos | Enlace |
|---|---|---|
| Kepler Objects of Interest (KOI) | 9,564 | KOI Cumulative List |
| TESS Objects of Interest (TOI) | 15,314 | TOI Catalog |
| K2 Planets & Candidates | 2,398 | K2 Catalog |
- 📄 Exoplanet detection using machine learning
- 📄 Assessment of Ensemble-Based Machine Learning Algorithms for Exoplanet Identification
¡Las contribuciones son bienvenidas! Si deseas mejorar ExoPlanets-AI:
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
- Sigue las convenciones de código (Biome/Ultracite para TypeScript)
- Agrega tests para nuevas funcionalidades
- Actualiza la documentación según corresponda
Este proyecto está bajo la licencia MIT. Ver el archivo LICENSE para más detalles.
Desarrollado con ❤️ por el equipo de ExoPlanets-AI
- NASA Exoplanet Archive por proporcionar los datasets
- Kepler, TESS y K2 misiones espaciales
- Comunidad de astrónomos aficionados y científicos ciudadanos
- Herramientas de código abierto que hicieron posible este proyecto
Made with 🚀 for the universe
