🚀 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:

  1. Cleaned and preprocessed the NASA Kepler dataset.
  2. Selected the top 20 important features.
  3. Trained multiple machine learning models and compared their performance.
  4. Chose XGBoost as the final model due to its superior accuracy.
  5. Saved the trained model using Joblib.
  6. Built REST APIs using FastAPI for real-time predictions.
  7. 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

Built With

Share this project:

Updates

Submission history