Welcome to the repository of my mini-project
🚴 Ola Bike Ride Demand Forecasting Using Machine Learning 🚴
This project is designed to predict ride demand patterns across Bangalore, leveraging machine learning to enhance urban mobility for both riders and Ola.
Project Overview:
Predicting ride demand can significantly improve ride availability, reduce wait times, and optimize resource management. This project uses historical data from 2022 to 2024 combined with real-time inputs like weather and calendar data to make accurate predictions for future ride demand. Key Features and Highlights
-
Smart Predictions: o Forecast ride demand based on key variables like time, place, weather, day status (holiday/working day), and temperature. o Integrated dynamic data sources to make the predictions adaptable to real-world scenarios.
-
Powerful ML Model: o Built using LightGBM Regressor, a highly efficient boosting algorithm known for its speed and accuracy in handling large datasets. o Optimized model performance using hyperparameter tuning and evaluation metrics like R² Score, RMSE, and Mean Absolute Error.
-
Dynamic APIs: o Google Calendar API: Automatically determines if a selected date is a holiday or working day. o OpenWeather API: Fetches real-time temperature data for the chosen date, time, and location.
-
Interactive Web Application: o A user-friendly interface built with Flask, styled using HTML and CSS, featuring an Ola-inspired theme for intuitive usability. o Allows users to input date, time, location, and dynamically fetch supporting data to predict ride demand instantly.
-
Scalable Model: o Model saved and serialized using Joblib and Pickle, ensuring it is ready for deployment or integration into larger systems.
-
Comprehensive Data Processing: o Extensive Exploratory Data Analysis (EDA) to identify trends, correlations, and outliers. o Features engineered to represent demand influencers such as trend (representing years) and day_status.
Technology Stack • Python Libraries: Pandas, NumPy, Scikit-learn, LightGBM, Matplotlib, Seaborn. • Machine Learning Workflow: o Data cleaning, preprocessing, and handling missing values. o Encoding categorical variables and scaling numerical data. o Model training, hyperparameter tuning, and evaluation. • Dynamic API Integration: Google Calendar and OpenWeather APIs for real-time data fetching. • Web App Development: Flask for backend functionality and HTML/CSS for frontend design.
Impact of the Project • For Riders: o Plan smarter trips by understanding peak demand times and locations. o Ensure better ride availability and reduce wait times during busy hours. • For Ola: o Optimize driver allocation to meet demand more efficiently. o Improve user satisfaction by minimizing delays and overbooking.
Team Effort This project was a collaborative effort with an exceptional team: Manjunath S, Likith Reddy, Justin Sebastian Thomas, and Marilinga. Together, we brought this idea to life! 🚀
Repository Contents: • Dataset: Preprocessed and cleaned ride demand data. • Model: Trained LightGBM model saved as .pkl file. • Scripts: Python scripts for preprocessing, training, and Flask app development. • Web Application: A complete Flask-based frontend for dynamic predictions.
Directory Structure :
How to Use This Repository & Run
- Clone the repository:
- git clone https://github.com/Code10x-letscodewithManju/OlaBikeRideDemandForecastingUsingML.git
- Explore the notebooks and scripts for data preprocessing, model training, and evaluation.
- Run the Flask app locally to interact with the prediction system.
This project is a step toward intelligent urban mobility and demonstrates the potential of data-driven solutions in solving real-world challenges. Let us know your thoughts and ideas for future enhancements! 🚴