- Introduction
- Project Structure
- Project Organization
- Technologies Used
- Setup Instructions
- Technologies Used
- Usage
- Analysis Steps
- Conclusion
- Collaborators
This project analyzes the VGI Flexi bus service data to understand various aspects of the service, such as demand patterns, popular routes, and cancellation reasons. The analysis is performed using Python and Jupyter Notebooks.
Visit our platforn in the following link.
main.ipynb
: The main Jupyter Notebook containing the data analysis and visualization.AnalyseDataset.ipynb
: A Jupyter Notebook for initial data exploration and profiling.data/
: Directory containing the input data files (FLEXI_bus_stops.xls
andFLEXI_trip_data.xls
).webmap/
: Directory containing the web application for visualizing the data on an interactive map.main.py
: Script containing the model to predict if a user will show up when they call the bus.
├── data <- Directory containing the input data files
├── DataReports <- Detailed HTML Reports for the datasets
├── heatmaps <- Heatmaps that show most pickup stations
├── webmap <- Directory containing the web application for visualizing the data on an interactive map.
├── AnalyseDataset.ipynb <- initial data exploration and profiling
├── main.ipynb <- Notebook containing the data analysis and visualization
├── README.md <- The top-level README for developers using this project.
├── requirements.txt <- Python requirements
└── VGI_Challenfe.pdf <- VGI Challenfe PDF
- Python
- Pandas (Dataframe)
- Scikit-learn
- Surprise (for collaborative filtering)
- Matplotlib (for data visualization)
- Seaborn (for data visualization)
- Squarify (for data visualization-Tree Map)
- ydata_profiling (for data analyisis)
- Axios: A promise-based HTTP client for the browser and Node.js.
- Bootstrap: A popular CSS framework for developing responsive and mobile-first websites.
- Font Awesome: A toolkit for vector icons and social logos.
- ShinyApp: A web framework for developing web applications, originally in R and since 2022 in python.
- Google Maps API: Used for showing the map on the web data visualization
- Folium: Used to show marks and heatmap on the Map
- Folium: Used to show marks and heatmap on the Maps
- Microsoft Power BI: Is an interactive data visualization software product, used to create interactive data charts
- Dora Web Builder: Used to create the presentation website
-
Clone the repository:
git clone https://github.com/yourusername/Fantastic-Four.git cd Fantastic-Four
-
Create a virtual environment:
python3 -m venv .venv source .venv/bin/activate
-
Install the required packages:
pip install -r requirements.txt
-
Install additional packages used in the notebooks:
pip install numpy matplotlib pandas folium ydata_profiling scikit-learn googlemaps shiny
-
Replace the Google API Key:
gmaps = googlemaps.Client(key='YOUR_GOOGLE_API_KEY')
-
Run the Jupyter Notebook server:
jupyter notebook
-
Open
main.ipynb
andAnalyseDataset.ipynb
in the Jupyter Notebook interface. -
Follow the steps in the notebooks to perform the data analysis and visualization.
-
Navigate to the
webmap
directory:cd webmap
-
Run the web application:
python app.py
-
Open your web browser and go to
http://127.0.0.1:8000
to view the interactive map.
-
Run the prediction model:
python main.py
-
The model will predict if a user will show up when they call the bus based on the input data.
- Import necessary libraries and read data from Excel files.
- Merge the trip data with bus stop coordinates for pickups and dropoffs.
- Generate an automatic report about the dataset using the
ydata_profiling
library.
- Determine the number of unique bus stops.
- Analyze the most popular pickup and dropoff stations.
- Visualize the most popular routes by hour.
- Analyze demand patterns by hour.
- Investigate trip status and cancellation reasons.
- Identify the most popular pickup and dropoff stations.
- Visualize the most popular routes and their characteristics.
- Analyze hourly demand for the bus service.
- Investigate cancellation patterns and their relation to time and trip characteristics.
- Identify bus stops that are not used and investigate potential reasons.
The analysis provides insights into the VGI Flexi bus service, including demand patterns, popular routes, and cancellation reasons. These insights can help improve the service and address issues such as cancellations and unused stops.