Inspiration
We were inspired to do this because we are passionate about advocating for renewable energy, such as solar energy use, so we would like to know whether it would be feasible for one to switch to solar energy.
What it does
Our machine-learning model analyzes 6 parameters that determine the likelihood that an average person in a US state would switch to solar energy from their current energy source.
How we built it
We built our model using Python, and imported different libraries such as XGBoost, matplotlib, pandas, NumPy, and seaborn. We trained our model with six pre-existing datasets. We built an app that used a Streamlit frontend to allow user input. Anyone can use this model since it is on the cloud.
Challenges we ran into
Because we were only able to train our model with datasets from January 2014 to September 2018, our model has no exposure to recent data. There could have been great change in our features since then, and the model would not account for that, affecting its reliability if one were to make predictions based on the current state of the economy or climate. There is a lack of individuality for users who want to make predictions since all the data is based on the state level. They will have to input information that generalizes a large, diverse group of people over a wide geographic area. These limitations stem from the data itself. In an industry setting, we would ideally have access to a larger, up-to-date dataset that presents features like energy costs or median income that describe smaller entities such as cities.
Accomplishments that we're proud of
We are proud of creating a fully functional machine learning model in a short amount of time. We were even able to build an app that allows the user to input their own data!
What we learned
We learned data preprocessing techniques like missing value imputation, how to build an XGBoost machine learning model, and how to use Streamlit to make a frontend.
What's next for Solar Energy: Should I Make The Switch?
We will want to optimize the machine learning model to boost accuracy, try to utilize updated datasets, and try to find data more specific to smaller geographic areas such as cities, since states are too general.
Beginner Division Eligibility
John Tian - High school senior who has completed AP Computer Science A and Computer Science III - Data Structures and is currently taking Computer Science 4 - Independent Study at school. This is his first hackathon.
Jayden Bautista - High School senior who has completed AP Computer Science A and Computer Science III as relevant coursework. This is his first hackathon.
Built With
- matplotlib
- numpy
- pandas
- python
- scikit-learn
- streamlit
- xgboost