Welcome to the repository for our paper, "Advanced Driving Cycle Generation Using XGBoost: A Case Study in Iğdır, Türkiye."
This repository contains the code and data used in our study, which presents a novel framework for driving cycle generation leveraging On-Board Diagnostics (OBD) data and the XGBoost algorithm. The case study focuses on Igdir, Turkey, known for its complex and diverse urban traffic patterns. Our framework outperforms traditional methods like Markov chains, offering more accurate and region-specific tools for vehicle performance and emissions evaluation.
The project is organized as follows:
IgdirDrivingCyclesML/
├── data/
│ ├── processed/ # Processed datasets
│ │ ├── combined_data.csv # Combined driving data from all cycles
│ │ ├── cycle_lengths.txt # Length of each driving cycle
│ │ └── features_data.csv # Feature-engineered dataset
│ └── raw/ # Raw datasets
│ ├── D01.txt # Raw driving data for cycle D01
│ ├── D02.txt # Raw driving data for cycle D02
│ ├── ... # (Additional raw data files)
│ └── segment_sizes.mat # MATLAB file containing segment sizes
├── docs/ # Documentation
├── models/ # Trained models
│ └── xgboost_model.pkl # Serialized XGBoost model
├── notebooks/ # Jupyter notebooks
│ └── driving_cycle.ipynb # Notebook for analysis
├── references/ # References and scripts
├── reports/ # Reports, figures, and metrics
├── src/ # Source code
├── README.md # This README file
├── environment.yml # Conda environment configuration
└── requirements.txt # Python dependenciesThe Jupyter notebook notebooks/driving_cycle.ipynb is adapted from https://github.com/fesihkeskin/Driving_Cycle. This adaptation was made to facilitate comparisons between our study and the methods presented in https://doi.org/10.1177/03611981241260700.
- Python 3.7 or higher
- Conda (recommended) or Python's
virtualenv
-
Clone the repository:
git clone https://github.com/username/IgdirDrivingCyclesML.git cd IgdirDrivingCyclesML -
Create the Conda environment:
conda env create -f environment.yml conda activate igdir-driving-cycles
Alternatively, if you're using
virtualenv, install dependencies with:pip install -r requirements.txt
python src/data/make_dataset.pypython src/features/build_features.pypython src/models/train_model.pypython src/models/predict_model.pypython src/models/manual_split_test.py- Figures: Saved in
reports/figures/. - Reports and Logs: Saved in
reports/.
If you use this repository in your research or work, please cite our paper:
@InProceedings{Keskin2024,
author = {Keskin, Fesih},
booktitle = {2024 8th International Artificial Intelligence and Data Processing Symposium (IDAP)},
title = {Advanced Driving Cycle Generation Using XGBoost: A Case Study in Iğdır, Türkiye},
year = {2024},
month = sep,
pages = {1--6},
publisher = {IEEE},
doi = {10.1109/idap64064.2024.10710756},
}
F. Keskin, "Advanced Driving Cycle Generation Using XGBoost: A Case Study in Iğdır, Türkiye," 2024 8th International Artificial Intelligence and Data Processing Symposium (IDAP), Malatya, Turkiye, 2024, pp. 1-6, doi: 10.1109/IDAP64064.2024.10710756.
The code and data in this repository are licensed under the MIT License.
For questions or contributions, please open an issue or pull request!