Second position GeeksForGeeks Ecotech Hackathon
This repository contains the Python code for an intelligent system that aims at optimizing the power usage in a building's various rooms. It takes into account the energy consumption patterns, room vacancy rates, and other specific room centric details to provide meaningful insights and suggestions to improve energy usage efficiency. The system also provides a feedback mechanism to adjust settings of various devices (like lights and heating systems) in a room to optimize power usage.
The data analysis phase includes handling missing data, scaling numerical values, encoding categorical values, and visualizing outliers, which together aid the subsequent data modelling. A variety of regression models, from basic ones like linear regression to more sophisticated types like gradient boosting regressors, are employed for prediction. Other advanced methods such as SVM, KNN, AdaBoost, and XGBoost are covered as well.
The temperature control is predicted using the OpenWeatherMap API and a comparison is made between room temperature and outside temperature based on vacancy.
In addition to that we have used advanced image detection method to track the waste in an office area and simultaneously send alerts to users in a fun way to pick this waste up to reduce the after effects of improper waste management along with educating them about recyclable or non recyclable waste
Garbage_Dataset.md
: Information about the garbage dataset.Garbage_Detection.py
: Code for waste detection.LICENSE
: The project's license information.README.md
: This file, providing an overview of the project.devices_power.csv
: Dataset containing device power consumption data.smartroom.py
: Python script for Smart Room Energy Optimization.weather.py
: Python script for weather data retrieval .
This project requires Python along with the following Python libraries installed:
- Pandas
- Numpy
- Matplotlib
- datetime
- sklearn
- XGBoost
You can install these libraries using pip:
pip install pandas numpy matplotlib datetime sklearn xgboost
In case you're using a Jupyter notebook, make sure it's installed. If not, install it using pip:
pip install jupyter
The scripts in this repository provide functionality for:
- Handling missing data, scaling numerical values, encoding categorical values.
- Visualizing outliers and understanding distributions.
- Performing time series analysis on power usage.
- Calculating daily averages of power usage and daily occupancy rates.
- Daily Energy Efficiency Ratio and peak power usage calculation.
- Data modeling and prediction on power usage using various regression models.
- Evaluating model performance using Mean Squared Error (MSE).
- Adjusting various device settings in a room to optimize power usage.
- The scripts are commented and divided into sections that provide different functionalities.
The project includes a machine learning component for waste detection. It leverages pre-trained models and image classification techniques to identify different types of waste items. Here's a brief overview of this component:
We use a pre-trained VGG16 model, fine-tuned for waste detection, to classify waste items into various categories. The model is trained on a dataset containing images of waste items.
To use the waste detection model, you can follow these steps:
-
Prepare an image containing the waste item you want to classify.
-
Load the image using the
waste_prediction
function, providing the file path to the image. -
The model will process the image and provide a prediction for the type of waste detected.
production_id_4822860.1080p.mp4
The Smart Room Energy Optimization project serves as a foundational framework for optimizing power usage within various rooms of a building. While it offers valuable insights and suggestions for improving energy efficiency based on existing data, it's important to note that this project is just the beginning of what can be achieved in the realm of smart energy management.
As we gather more data and insights, there is immense potential to refine our models and algorithms, ultimately leading to more accurate predictions and even greater energy optimization. Continuous model training, the integration of cutting-edge AI practices, and ongoing research can further enhance the capabilities of the Smart Room Energy Optimization system.
In addition to its energy optimization features, the project includes a waste detection component that uses machine learning to identify different types of waste items. This innovative addition opens doors to efficient waste management strategies within smart rooms.
This project is open-source and is released under the MIT License. You are free to use, modify, and distribute this software within the terms and conditions specified in the license.