The aim of this project is to learn to use the concepts of machine learning presented in the lectures and practiced in the labs on a real-world dataset. For this project we chose to collaborate with an EPFL lab TRANSP-OR who provided a historical traffic dataset of a bridge in Switzerland, in order to generate discrete traffic data using ML methods.
This project was done during the CS-433 Machine Learning course from EPFL
Read the final report.
This project is organized as follows :
- the repository data that contains a small dataset extract.txt
- the repository report that contains the LaTeX template of our final written report.
- the repository src that includes:
- 0-sumo.ipynb that briefly explains how to simulate traffic using "Simulation of Urban MObility" (SUMO) of the extract.txt dataset.
- 1-data-exploration.ipynb were the data exploration of our datasat is made.
- 2-forecasting-model-selection.ipynb that selects a model to predict the hourly number of cars per week.
- 3-sampling-interval-selection.ipynb that finds the most appropriate sampling interval for which to predict the number of cars.
- 4-rate-prediction.ipynb that predicts the number of vehicules, speed and weight per hour that we called "rate".
- 5-discrete-event-generation.ipynb that converts the previous rate into discrete events.
- utils.py that contains the pipeline and helper functions.
- several .xml files that helps to define the road to generate the traffic on SUMO.
- the repository sumo-files that contains all the files used to setup the simulation. You can find more infos on each file in the notebook 0-sumo.ipynb
- the file ML-Project-2.pdf which is our report that provides a full explanation of our ML system and our findings.
- Just make sure to have the libraries mentioned below installed on your environment before running the cells in the jupyter notebook.
- To reproduce our setup, please run the notebooks in a successive way (from 1 to 5).
- Don't forget to put the dataset in the repository "data" at the same level of the repository "src". You can find our dataset named "405.txt" on this link.
- To run SUMO, open XQuartz (if you use MacOS), go to repository src and type "sumo-gui -c sumo-files/hello.sumocfg" in the terminal.
In this project we used these libraries :