Skip to content
This repository was archived by the owner on Jun 6, 2025. It is now read-only.

LuongVu307/WeatherForecast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Weather Forecast Application (WFA)

A simple weather forecasting app for Coventry, UK demonstrating an AI approach built with a neural network implemented from scratch using NumPy, without any deep learning frameworks. This project showcases fundamental AI skills, data processing, and GUI development using Python.

App GUI Screenshot

Main window of the Weather Forecast Application, built with Tkinter.


Features

  • Neural network for weather forecasting implemented purely with NumPy (no TensorFlow/PyTorch).
  • Data processing and training using pandas and NumPy.
  • Interactive GUI built with Tkinter for user input and displaying forecast results.
  • Integration with WeatherCrossing API to fetch weather data in real-time.
  • Training process and data handling fully coded in Python and demonstrated in Jupyter Notebook.

Technologies Used

  • Python 3
  • NumPy for numerical computations
  • Pandas for data processing
  • Tkinter for GUI development
  • Requests or similar for API calls (WeatherCrossing)
  • Jupyter Notebook for development and experimentation

Installation & Setup

This project is primarily an archived learning experiment and not optimized for easy setup or deployment. However, if you want to run it locally, here are the general steps:

  1. Requirements:
    • Python 3.x installed
    • Install dependencies:
      pip install numpy pandas matplotlib requests
  2. API Key:
    • Obtain a WeatherCrossing API key (you will need to replace the placeholder in the code with your key).
  3. Running the App:
    • Run the main Python script to launch the Tkinter GUI:
      python main.py
  4. Training:
    • All the neural network/data processing utilities are stored in the models/tools file respectively, with test in them (you'd have to install tensorflow and sklearn to test those)

    • Training and data processing code is available in the Jupyter Notebook files (.ipynb), which can be run to retrain (you'd have to install jupyter notebook to run the test, or pull the last commit to get the trained version)

      pip install tensorflow scikit-learn notebook

Usage

  • The app fetches weather data and uses the neural network to forecast weather conditions in Coventry.
  • Training can be run separately in the notebook to update the model with new data.

Project Structure

/WeatherForecast/
├── main.py # Main Tkinter GUI application
├── train.ipynb # Jupyter Notebook with training code
├── data/ # Folder containing datasets (if any)
├── models/ # Implementation of neural network
├── tools/ # Implementtation of data processing tools
├── save/ #Saved model from the train.ipynb
└── README.md # This file

Known Issues & Limitations

Training Loss Graph

Training loss over epochs showing model convergence during neural network training.

Training Process Visualization

Visualization of the training process showing epoch progression and model performance metrics.

  • The neural network implementation is educational and not optimized for production.
  • Setup requires manual API key insertion and Python package installation.
  • The training process can be slow and is only demonstrated in notebooks, not fully integrated into the app.
  • The project is a learning archive and may lack error handling or input validation.

License

This project is archived for educational purposes and is provided under the MIT License.
You are free to use, modify, and distribute the code with proper attribution to the original author.

See the LICENSE file for full details.


Contact & References


Feel free to explore, learn from, and adapt this project.

About

A simple Weather Forecast Application in Coventry, UK with neural network, implemented in numpy only

Resources

License

Stars

Watchers

Forks

Contributors