Machine Learning Weather Prediction
WGU Capstone Project
This desktop application uses machine learning to forecast future weather conditions for the Worcester, MA region. Built with Python and powered by historical data from NOAA, the app allows users to input the latest available weather data and receive forecasts for the next day or future dates.
Initially, I explored using an LSTM model via TensorFlow to capture sequential patterns in the data. However, after testing and comparing approaches, I opted for a linear regression model for its simplicity, interpretability, and competitive performance on this dataset.
The application is built with a clean UI using Tkinter and includes interactive visualizations to display forecasted temperatures and weather trends. This project sharpened my skills in data preprocessing, model evaluation, and building user-facing tools for real-world prediction tasks.
Key Features
- 📈 Next-day & multi-day forecasting
- Enter current or most recent weather stats and receive accurate predictions for the next day or further into the week.
- 🧠 Machine learning model powered by Scikit-learn
- Uses a linear regression model trained on historical NOAA weather data to predict temperature and related metrics.
- 🖼️ Interactive UI with Tkinter
- A lightweight Python desktop interface allows users to input data and view predictions in a clean, intuitive layout.
- 📊 Visual trend plots with Matplotlib
- Forecasts are displayed with matplotlib-generated graphs, helping users visualize changes over time.
- 🔬 Comparative model design
- Explored a Long Short-Term Memory model (via TensorFlow) but ultimately selected a linear regression for its speed, performance, and clarity.
Language
- Python
IDE
- Visual Studio Code
Libraries
- Scikit-learn – Model training and evaluation
- Pandas – Data cleaning and manipulation
- NumPy – Numerical operations and regression fitting
- Matplotlib – Data visualization
- Tkinter – GUI development
Figures



