Inspiration
Our team members have been fascinated by space exploration and the unknown since a young age, as many other people have. However, it was overly detailed and confusing when it came to learning about the universe and its findings at the beginning. This strong desire to learn led us to make raw, complex exoplanet data accessible to non-experts, whether it's middle or high school students, or even younger or older ages. Curiosity with a little bit of an element of play helps anyone learn more about the habitability of exoplanets and how Earth compares to other worlds. The idea of letting people "design their own planet" makes learning more user-friendly, playful, and engaging.
What it does
ExoMatch lets the user design their own hypothetical exoplanet by adjusting metrics such as radius, mass, temperature, and orbital period. It provides a live visualization as the metrics are adjusted, such as radius (indicated by the planet's size changing), temperature (which changes colors to represent hot/cold to make it more intuitive and engaging for users), and other metrics. We use machine learning models to find the top 5 most similar exoplanets from NASA's archive to match with the user's custom planet, and produce a habitability score to compare the planet to Earth. The website displays both similarity to the user's inputs and the habitability score vs. Earth for each matched exoplanet. This makes even NASA's complex data into an interactive and accessible experience, so anyone can explore exoplanets in a playful, engaging way.
How we built it
ExoMatch is built with Streamlit for the frontend to streamline backend (Python) integration. We used a k-nearest neighbors algorithm to find the top five most similar planets in the database to the user’s hypothetical planet. We then created a habitability score for the planet by using the KNN algorithm to calculate its “distance” (how much the planet’s characteristics vary) from Earth. Finally, we used matplotlib to generate a 2D chart that visualizes habitability scores and general similarity to the other planets in the dataset. Because of the size of the dataset, we applied a K-means clustering algorithm to group planets together, making the number of data points being plotted more manageable. We tuned and tested the model’s accuracy by checking whether the algorithm and scoring correctly identified planets similar to Earth that have been scientifically studied and are considered Earth-like, such as Kepler-186f.
Challenges we ran into
The main challenge we faced was choosing a single idea to pursue. During the brainstorming process each team member had a different idea of what they wanted to create during this event and that made singling out a single idea difficult. Another difficulty that we faced was the creation of data visualizations that effectively conveyed our habitability scores. The 3D plot we originally planned on making use of was not as effective so we had to switch the types of plots near the end.
Accomplishments that we're proud of
This was our first datathon so we are really proud of how we were able to turn a dataset that we had no idea how to use at first into a functioning web application. Throughout the project we also successfully implemented the k-nearest neighbor and k-means clustering algorithms. We also became more familiar with using streamlit for the frontend.
What we learned
We learnt how to use streamlit to create a web application and the statistical methods behind k-nearest neighbors and k-means clustering algorithms and their implementations. We were also able to further our experience with several python libraries such as matplotlib, pandas, numpy, and sklearn.
What's next for ExoMatch
Our next plans for ExoMatch are to deploy the app publicly (e.g., Streamlit Cloud, Hugging Face Spaces) so anyone can use it. On top of that, expanding the user input metrics beyond 4 would allow for more experimentation and additional layers of fun for educational purposes, and building classroom/outreach versions to inspire students and make exoplanet science much more approachable. We also want to improve habitability scoring with additional scientific datasets and models. Making it more interactive is also one of our main goals, and this would be achieved with future upgrades to visualization with animated orbits, star backgrounds, and interactive system views. Saving/sharing custom planets and their matches with peers, comparing exoplanets with friends, and many other features would be great upgrades for the future of ExoMatch.
Built With
- matplotlib
- pandas
- python
- scikit-learn
- streamlit
Log in or sign up for Devpost to join the conversation.