This is an implementation of "MTRecS-DLT: Multi-Modal Transport Recommender System using Deep Learning and Tree Models" in Python and powered by the Keras deep learning framework (Tensorflow as backend). By Ayat Abedalla, Ali Fadel, Ibraheem Tuffaha, Hani Al-Omari, Mohammad Omari, Malak Abdullah and Mahmoud Al-Ayyoub.
Multi-modal transport recommender systems aim to recommend the most appropriate transport mode for a given Origin-Destination pair (OD) and the situational context to take into account different user preferences. The model is based on the weighted average ensemble of Convolutional Neural Network (CNN) and Gradient-Boosted Decision Trees (GBDT). We have extracted context and user features from the data and then fed the features into the CNN and GBDT models to predict the most appropriate transport mode. Finally, we combine the prediction of each model by the weighted average ensembling technique.
We have used KDD Cup 2019 dataset for the analysis of the proposed methodology. It consists of historical user behavior data collected from Baidu Maps application and a set of user attributes data capture user interactions with navigation applications.
-
User features: Applying Singular-Value Decomposition (SVD) to obtain a compact, dense vector representation of user profile features due to its sparsity.
-
Context features: Extract 37 different context features from the historical user behavior data and then scaling them using the MinMaxScaler.
Model architecture:
F1 score for each class is defined as:
The weighted F1 is calculated by considering the weight of each class:
-
Weighted F1 score on validation dataset is 0.67500855
-
Weighted F1 score on test dataset is 0.68898702
This project is licensed under the MIT.