-
-
Result screen in which the model predicted that the star had an exoplanet orbiting it based on its change in flux.
-
Result screen in which the model predicted that the star didn't have an exoplanet orbiting it based on its change in flux.
-
Home screen in which the user can upload and submit a .csv file with their change in flux data.
Inspiration
We were inspired by ML/AI progress towards the Aerospace field and wanted to contribute to this cause. Examples of this would be the US Air Force's work on an AI-powered drone. We hope that this project could have applications for deep space exoplanet hunting for robots and space exploration.
What it does
ExoPotato is a web app that essentially detects if a planet is in the surrounding system of a star. ExoPotato is trained using a dataset of changes in flux (light frequency) coming from a star and transmitting through space. Based on the change in flux, ExoPotato is able to predict if there is an exoplanet orbiting that star. ExoPotato is then given a flux dataset from a scientist or researcher, which then returns if a planet was detected. This could allow for space research to be sped up through technological means.
How we built it
We gathered a flux change dataset from Kaggle that included changes in flux and a label identifying whether or not the star has an exoplanet orbiting it. The training set from this data had a high level of class imbalance (only 37 out of 5000 data points were of a star with an exoplanet), so we used the preprocessing tool SMOTE to create new instances of the minority class, which gave us a balanced dataset. We then created a KNN model using sklearn and trained it on the training set. We then evaluated it on the test set and found it to have an accuracy of 98%. Next, we created a thorough web app that allows a user to upload a .csv file with the change in flux data, which is then read and passed to the model. The model's prediction along with a graph of the change in flux are then shown to the user in the results screen.
Challenges we ran into
We had challenges in constructing a machine learning model, as the data had a high level of class imbalance. However, we overcame this through our data preprocessing, in which we used SMOTE to balance our training set. We ran into challenges with implementing machine learning in that we didn't have much experience in integrating web apps with external programs, but we researched and were able to implement the model using a library named Pickle. Additionally, we ran into challenges with the file upload of the web app in that the URL was difficult to acquire, but with hard work we were able to get past this hurdle.
Accomplishments that we're proud of
We are proud of being able to get past the hurdles we encountered and learning with a small timeframe. This hard work was put to good use with all the troubled parts of the project being completed after all. We're especially proud of the performance of our machine learning algorithm, our design and style of our website, and the graphics and animations we were able to include.
What we learned
We learned pacing and organization skills by splitting up tasks per team member, and as we've mentioned a few times earlier, we also learned lots of skills on synthesizing external programs and web dev with our ML model. We learned how to get around heavy degrees of class imbalance by using tools such as SMOTE. We also learned more about external libraries, like Pickle, Pandas, and more.
What's next for ExoPotato
What's next for ExoPotato is more streamlined results and data. This could include a coordinate system to narrow down the location the planet is from the star based on time passed and even other features. Additionally, a user authentication system could be implemented so that users could hold all their data in one account instead of just visiting and executing the model. We also hope to continue to gather more data so that we can create a more accurate model.

Log in or sign up for Devpost to join the conversation.