Skip to content

bataillard/ml-traffic-generation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Discrete traffic data generation using ML methods

Introduction

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.

Organisation

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.

How to use our project

  • 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.

Libraries

In this project we used these libraries :

  • matplotlib
  • seaborn
  • minidom
  • os
  • datetime
  • numpy
  • pandas
  • tensorflow
  • scipy
  • script
  • IPython
  • pickle
  • statsmodels
  • collections
  • sumo
  • XQuartz if using OS X

Members of group brr

About

Discrete traffic data generation using ML methods

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published