🚀 Inspiration
The discovery of exoplanets is one of the most exciting areas of modern astronomy. NASA's Kepler mission has generated a massive amount of observational data, making manual classification difficult and time-consuming. We wanted to build a machine learning solution that could automatically classify Kepler Objects of Interest (KOIs) into Confirmed, Candidate, or False Positive, demonstrating how AI can assist scientific research.
🛠️ What We Built
We developed an end-to-end Exoplanet Classification system using the NASA Kepler KOI dataset. The project includes:
- Data preprocessing and feature selection
- Model training using XGBoost
- Model evaluation with 94.56% accuracy
- FastAPI backend for prediction APIs
- Streamlit dashboard for an interactive user interface
- CSV upload and batch prediction support
- Visualization of prediction summaries and statistics
⚙️ How We Built It
Our workflow consisted of the following stages:
- Cleaned and preprocessed the NASA Kepler dataset.
- Selected the top 20 important features.
- Trained multiple machine learning models and compared their performance.
- Chose XGBoost as the final model due to its superior accuracy.
- Saved the trained model using Joblib.
- Built REST APIs using FastAPI for real-time predictions.
- Developed an interactive dashboard using Streamlit for data upload, visualization, and prediction.
📚 What We Learned
This project helped us gain practical experience with:
- Data preprocessing and feature engineering
- Machine learning model evaluation
- Hyperparameter tuning
- FastAPI backend development
- Streamlit dashboard development
- Model deployment and API integration
- Git and GitHub collaboration
⚡ Challenges We Faced
Some of the challenges included:
- Handling missing values and preparing the dataset
- Selecting the most relevant features
- Achieving high model accuracy while avoiding overfitting
- Integrating FastAPI with Streamlit
- Debugging deployment and dependency issues
- Building a user-friendly dashboard for non-technical users
🎯 Future Improvements
We plan to enhance the project by:
- Displaying prediction confidence scores using
predict_proba() - Deploying the application to the cloud
- Supporting real-time predictions through web APIs
- Adding explainable AI (SHAP) visualizations
- Improving dashboard analytics and visualizations
🏆 Results
- Algorithm: XGBoost
- Accuracy: 94.56%
- Classes: Confirmed, Candidate, False Positive
- Backend: FastAPI
- Frontend: Streamlit
- Dataset: NASA Kepler KOI
Log in or sign up for Devpost to join the conversation.