Predicting vehicle travel time on city streets for trip preplanning and predicting heavy traffic for proactive control of street congestion

We investigate if the vehicle travel time after 6 h on a given street can be predicted, provided the hourly vehicle travel time on the street in the last 19 h. Likewise, we examine if the traffic status (i.e., low, mild, or high) after 6 h on a given street can be predicted, provided the hourly traffic status of the street in the last 19 h. To pursue our objectives, we exploited historical hourly traffic data from Google Maps for a main street in the capital city of Jordan, Amman. We employ several machine learning algorithms to construct our predictive models: neural networks, gradient boosting, support vector machines, AdaBoost, and nearest neighbors. Our experimental results confirm our investigations positively, such that our models have an accuracy of around 98–99% in predicting vehicle travel time and traffic status on our study’s street for the target hour (i.e., after 6 h from a specific point in time). Moreover, given our time series traffic data and our constructed predictive models, we inspect the most critical indicators of street traffic status and vehicle travel time after 6 h on our study’s street. However, as we elaborate in the article, our predictive models do not agree on the degree of importance of our data features.

Figure 1 provides an overview of our research design, which involves constructing and analyzing predictive models for vehicle travel time and traffic status on a given street based on historical hourly traffic data.This section elaborates on every stage of the chart in Fig. 1.

Data description
We obtained historical traffic data from Google Maps for a principal street in the capital city of Jordan, Amman.Amman's population is about 5 million, whereas Jordan's is around 11.3 million.Our selected street is Al-Madina Al-Monawara St, which is 5 kilometers long.The street is a two-way street.Our data includes traffic details for one direction of the street, where the data covers the traffic details of the direction from the Suhaib Tunnel to the University Hospital Interchange; see Fig. 2, which views Al-Madina Al-Monawara St.
The Google Maps data is a table of hourly traffic data for our study's street from 1/1/2017 to 31/12/2019.The table includes 26,277 records incorporating two features (among others): date-time (day/month/year hh:mm:ss) and the average vehicle travel time (i.e., average duration in minutes) in the corresponding hour; see Fig. 3, which views a sample of our data.

Data preparation
From now on, we say "vehicle travel time" instead of "average vehicle travel time" when referring to our historical traffic data.We generated two tables from the obtained Google Maps vehicle travel time data of our study's street: one table to construct a model to predict the vehicle travel time (after 6 h from a specific point in time) and the other to build a model classifying traffic on the street as low, mild, or high after 6 h from a specific point in time.
Hence, to train models for predicting vehicle travel time after 6 h, we prepared a time series table of 26,252 records and 20 columns.Figure 4 shows the prepared time series data, with the input features being the vehicle travel times on the street for consecutive 19 h t0-t18, and the target feature being the vehicle travel time on the street, t24, after 6 h.
Regarding our problem of predicting traffic status (i.e., low, mild, or high), from our time series data (depicted in Fig. 4), we constructed a categorical table of 26,252 rows with 20 columns designating hourly traffic status for consecutive 19 h t0-t18, where the target feature being the traffic status on the street, t24, after 6 h; see Fig. 5.    www.nature.com/scientificreports/Our traffic status table construction method is as follows: we state 1 (denoting "low traffic") for a given hour whenever the vehicle travel time in that hour is less than the minimum vehicle travel time in that hour over the three years (2017-2019) plus 2; we state 2 (denoting "mild traffic") for a given hour if the vehicle travel time in that hour is less than the minimum vehicle travel time in that hour over the three years plus 5; otherwise, we state 3 (denoting "high traffic").For example, if the vehicle travel time in a given hour (say 12 PM -1 PM) on 1st Jan 2018 equals 10 minutes, and the minimum travel time on the street in the given hour over the three years is 9 minutes, we note that 10 < 9 + 2 , and hence the traffic status on the street is set to "low traffic" for the hour 12 PM-1 PM on 1st Jan 2018.

Data processing methods
We give an overview of our employed machine learning methods and the reported performance metrics.The interested reader may consult the cited references for further details.

Neural networks
Neural networks are a prominent machine learning technique introduced decades ago network parameters, g is a nonlinear function, called the activation function.Observe, for binary classifications, neural networks learn f (x) = sigmoid(wg(w T x + b 1 ) + b 2 ) .For greater details on neural networks, we refer the reader to, e.g. 49,50.

Support vector machines
Support vector machines are a learning method that can be employed for regression and classification problems.
Given training vectors x i ∈ R n , i = 1, . . ., m , and an output variable vector y ∈ R m .Then, for regression prob- lems, support vector machines estimate a function f (x) = w T φ(x) + b by solving the optimization problem (1) where φ(x i ) maps x i into a higher-dimensional space and C > 0 is the regularization parameter.For binary clas- sification problems, support vector machines construct a function f (x) = sign(w T φ(x) + b) .For further details of support vector machines, the reader may consult, e.g., 51,52 .

Nearest neighbors
The idea of the k-nearest neighbors algorithm is that the k closest training examples in a data set decide the output variable of a query data point.In estimating the output variable of a given query point, the nearest data points can be given uniform weights or assigned different weights according to their distance from the query point.The k-nearest neighbors algorithm can be used for regression and classification problems.We refer the reader to 53 for a complete discussion of the nearest neighbors algorithm.

Gradient boosting
Gradient boosting algorithm, introduced in 54 , is an ensemble method that gives a predictive model as a collective of weak prediction models.Gradient boosting constructs an incremental predictive model sequentially; it allows for the optimization of arbitrary differentiable loss functions.In each phase of gradient boosting, a base estimator is fit on the negative gradient of the given loss function being minimized concerning the model values at each training example.Gradient boosting can be applied to solve regression and classification problems.The interested reader may consult 54 for a fuller presentation of the gradient boosting algorithm.
As gradient boosting is a collective of weak models, we use a collective of decision trees in our study.A decision tree is a widely applied machine learning technique for regression and classification problems; see, e.g. 55.The aim is to build a tree that predicts the output variable by learning decision rules inferred from training examples.The tree's internal nodes represent input variables, while the tree's leaf nodes designate the output variable values.The tree's branches emitting from an internal node represent the values of the input variable corresponding to the node.A significant benefit of decision trees is that predictions made by decision trees are explainable.In the literature, numerous algorithms for constructing decision trees; see, e.g. 56.

AdaBoost
In AdaBoost, a group of weak learners (e.g., decision trees) are fit on repeatedly modified versions of the data, i.e., the training examples.The weak learners' predictions are then aggregated through a weighted majority voting.The data modifications at each what-so-called boosting step assign weights to each training example.Initially, all training examples are given equal weight.Then, the weights are individually updated for each successive iteration, and the learning procedure is repeated on the reweighted data.At any iteration, the training examples mispredicted in the previous iteration will receive higher weights in the subsequent learning iteration, allowing the weak learners to pay more attention to those mispredicted instances.For a fuller presentation of AdaBoost, we refer the reader to 57,58 .

Performance metrics
We evaluated our predictive models using the different prevalent metrics 59 we now describe.For a data set, let y i be the true value of the target variable for data point i, ŷi be the prediction of the target variable for data point i, and ȳ be the mean of all true values of the target variable in the data set, and n be the number of training examples in the data set.For the regression models, we measure mean absolute error by mean squared error by median absolute error by R 2 score by explained variance by mean absolute percentage error by max error by www.nature.com/scientificreports/For the classification models, we measure the accuracy score by Further, we measured the standard scores of precision, recall, and F measure.Given n examples labeled with "positive" or "negative", the precision of a classifier (concerning the positive label) is equal to the ratio of the number of examples classified as "positive" correctly over the number of all examples that are classified as "positive"; further, the recall of a classifier (concerning the positive label) is equal to the ratio of the number of examples that are classified as "positive" correctly over the number of examples that are indeed "positive".As a summarization metric combining precision and recall scores, F score is the harmonic mean of precision and recall, that is The Jaccard similarity coefficient with a ground truth label set y and predicted label set ŷ is defined as the ratio Additionally, we analyzed the feature importance of our data based on feature permutation 60 .Permutation-based feature importance is valuable for inspecting models applied to tabular data, mainly when dealing with opaque models like neural networks.By randomly shuffling the value of a single feature, the permutation feature importance measures the resulting reduction in the model's accuracy score.This process breaks the association between the feature and the target variable, enabling us to gauge how much the model depends on that feature.Next, we give a straightforward narrative of calculating a feature's importance procedure.Firstly, compute a given model's reference accuracy score s.Then, for each feature i, randomly shuffle the data in column i. Afterward, compute the corrupted training examples' accuracy score, s ′ .Thus, the importance of feature i equals s − s ′ .

Experimental results
Recall that we want to predict the vehicle travel time and traffic status (low, mild, or high) after 6 h on our study's street.Thus, we construct five predictive models using different machine learning algorithms: neural networks, AdaBoost, nearest neighbors, support vector machines, and gradient boosting.In the following subsections, we report our experiments and their results concerning the performance metrics of every constructed predictive model.But before presenting our results, we give a few general comments on the experiments.We created our predictive models using Python 3.9.7 and the machine learning library sklearn 1.2.0 59 .For our regression problems, we utilized the StandardScaler from sklearn.preprocessing such that for each feature x of our data, for each value, d, of x, d is replaced by d−µ σ (i.e., z-score) where µ is the mean of x and σ is the standard deviation of x.We split our data, 80% for training a model and 20% for testing the model by using sklearn.model_selection.train_test_split.Throughout our experiments, whenever applicable, we ensure the same output across multiple function calls by setting the parameter random_state to an integer.

Predicting the vehicle travel time after 6 h
Our AdaBoost regressor We used sklearn.ensemble.AdaBoostRegressor to predict the vehicle travel time after 6 h on our study's street; the base estimator was created from sklearn.tree.DecisionTreeRegressor.Our AdaBoost regressor has a mean absolute error of 0.0046, R 2 score of 0.9993, explained variance score of 0.9993, mean squared error of 0.0115, median absolute error of 0.0000, mean absolute percentage error of 0.0005, max error of 3.8290.
Figure 6 shows the learning curve of our AdaBoost regressor predicting the vehicle travel time after 6 h. Figure 6 plots the R 2 score of our AdaBoost regressor against the number of training examples.The learning curve shown in Fig. 6 indicates that the R 2 score of predicting the vehicle travel time after 6 h using our AdaBoost regressor remains the same when the regressor is trained on 2500-20,000 examples.Moreover, the figure suggests that our regressor is overfitting-free.
Figure 7 depicts the feature importance of our AdaBoost regressor, indicating that the most critical feature of our AdaBoost model predicting the vehicle travel time after 6 h is the vehicle travel time, t0, 24 h before the target hour.The second important features are t14 and t18, the vehicle travel time 6 h and 10 h before the target hour, respectively.

Our neural network regressor
We used sklearn.neural_network.MLPRegressor to build our neural network regressor with two hidden layers and 200 neurons in each layer for predicting the vehicle travel time after 6 h on our study's street.Our neural network regressor has a mean absolute error of 0.0612, R 2 score of 0.9994, explained variance score of 0.9994, mean squared error of 0.0101, median absolute error of 0.0610, mean absolute percentage error of 0.0067, max error of 3.9016.
Figure 8 shows the learning curve of our neural network regressor predicting the vehicle travel time after 6 h. Figure 8     www.nature.com/scientificreports/learning curve shown in Fig. 8 indicates that the R 2 score of predicting the vehicle travel time after 6 h using our neural network regressor remains the same when the regressor is trained on 2500-20,000 examples.On top of that, the figure suggests that our regressor is overfitting-free.Figure 9 depicts the importance of our neural network regressor's features, suggesting that the most critical feature for predicting the vehicle travel time after 6 h on our study's street is the vehicle travel time, t18, 6 h before the target hour.The second most important features are t0 and t1, the vehicle travel time 24 h and 23 h before the target hour, respectively.

Our gradient boosting regressor
We exploited sklearn.ensemble.GradientBoostingRegressor with a learning rate of 0.5 to create our gradient boosting regressor for predicting the vehicle travel time after 6 h on our study's street.Our gradient boosting regressor has a mean absolute error of 0.0337, R 2 score of 0.9996, explained variance score of 0.9996, mean squared error of 0.0056, median absolute error of 0.0222, mean absolute percentage error of 0.0035, max error of 3.8984.
Figure 10 shows the learning curve of our gradient boosting regressor predicting the vehicle travel time after 6 h. Figure 10 plots the R 2 score of our gradient boosting regressor against the number of training examples.The learning curve of Fig. 10 suggests that the R 2 score of predicting the vehicle travel time after 6 h using our gradient boosting regressor remains the same when the regressor is trained on 2500-20,000 examples.Besides, the figure implies that our regressor is overfitting-free.
Figure 11 depicts the feature importance of our gradient boosting regressor.It indicates that the most critical feature for predicting the vehicle travel time after 6 h is the vehicle travel time, t0, 24 h before the target hour.The second most important feature is the vehicle travel time, t18, 6 h before the target hour.www.nature.com/scientificreports/

Our nearest neighbors regressor
We used sklearn.neighbors.KNeighborsRegressor to create our nearest neighbors regressor for predicting the vehicle travel time after 6 h on our study's street.Our nearest neighbors regressor has a mean absolute error of 0.0007, R 2 score of 0.9998, explained variance score of 0.9998, mean squared error of 0.0030, median absolute error of 0.0000, mean absolute percentage error of 0.0000, max error of 4.000.
Figure 12 shows the learning curve of our nearest neighbors regressor predicting the vehicle travel time after 6 h. Figure 12 plots the R 2 score of our nearest neighbors regressor against the number of training examples.The learning curve of Fig. 12 suggests that the R 2 score of predicting the vehicle travel time after 6 h using our nearest neighbors regressor remains the same when the regressor is trained on 2500-20,000 examples.Further, the figure implies that our regressor is overfitting-free.
Figure 13 depicts the feature importance of our nearest neighbor regressor.It indicates that the most critical feature of our nearest neighbor regressor predicting the vehicle travel time after 6 h is the vehicle travel time, t1, 23 h before the target hour.The second most important feature is t0, the vehicle travel time 24 h before the target hour.

Our support vector machine regressor
We exploited sklearn.svm.SVR to create our support vector machine regressor for predicting the vehicle travel time after 6 h on our study's street.Our support vector machine regressor has a mean absolute error of 0.1817, R 2 score of 0.9898, explained variance score of 0.9898, mean squared error of 0.1770, median absolute error of 0.1000, mean absolute percentage error of 0.0166, max error of 4.7504.
Figure 14 shows the learning curve of our support vector machine regressor predicting the vehicle travel time after 6 h.It plots the R 2 score of our support vector machine regressor against the number of training examples.The learning curve of Fig. 14 indicates that the R 2 score of predicting the vehicle travel time after 6 h using our   www.nature.com/scientificreports/support vector machine regressor improves as the number of training examples increases.Equally, the figure implies that our regressor is overfitting-free.Figure 15 depicts the feature importance of our support vector machine regressor, implying that the most critical features of our support vector machine regressor predicting the vehicle travel time after 6 h are t0 and t6, respectively, 24 h and 19 h before the target hour.The second most important features are t2, t7, and t9, respectively, the vehicle travel time 22 h, 17 h, and 15 h before the target hour.

Predicting the traffic status after 6 h
Our AdaBoost classifier We used sklearn.ensemble.AdaBoostClassifier to create our AdaBoost classifier for predicting the traffic status after 6 h on our study's street; the base estimator was created as DecisionTreeClassifier from the sklearn.tree.Our AdaBoost classifier achieved an accuracy of 0.9805.We now report the other performance scores our AdaBoost classifier reached for the three classes: low, mild, and high traffic, respectively.The F score of our AdaBoost classifier is [0.9927 0.9525 0.9825].The precision score is [0.9856 0.9351 1.0000].The recall score is [1.0000 0.9705 0.9657], and the Jaccard score is [0.9856 0.9093 0.9657].Figure 16 presents the confusion matrix of our AdaBoost classifier.
Figure 17 shows the learning curve of our AdaBoost classifier predicting the traffic status after 6 h. Figure 17 plots the accuracy score of our AdaBoost classifier against the number of training examples.The learning curve illustrated in Fig. 17 indicates that the accuracy of predicting the traffic status after 6 h using our AdaBoost classifier remains the same when the classifier is trained on 2500-20,000 examples.Likewise, Fig. 17      Figure 18 demonstrates the importance of the AdaBoost classifier's features.The figure implies that the most critical feature of our AdaBoost classifier for predicting the traffic status after 6 h is the traffic status t12, 12 h before the target hour.The second-most important feature is the traffic status t0, 24 h before the target hour.

Our neural network classifier
We employed sklearn.neural_network.MLPClassifier to build our neural network classifier with two hidden layers and 200 neurons in each layer for predicting the traffic status after 6 h on our study's street.Our neural network classifier achieved an accuracy of 0.9840.We now state the other performance scores our neural network classifier reached for the three classes: low, mild, and high traffic, respectively.The F score of our neural network classifier is [0.9927 0.9584 0.9873].The precision score is [0.9856 1.0000 0.9750].The recall score is [1.0000 0.9203 1.0000], and the Jaccard score is [0.9856 0.9203 0.9750].Figure 19 shows the confusion matrix of our neural network classifier predicting the traffic status after 6 h.
Figure 20 presents the learning curve of our neural network classifier for predicting the traffic status after 6 h. Figure 20 plots the accuracy score of our neural network classifier against the number of training examples.The learning curve shown in Figure 20 indicates that the accuracy of predicting the traffic status after 6 h using our neural network classifier remains the same when trained on 2,500-20,000 examples.Besides, the figure suggests that our neural network classifier is overfitting-free.
Figure 21 graphs the neural network classifier's feature importance, implying that our two most critical features for predicting the traffic status after 6 h are t12 and t16, respectively, the traffic status 12 and 8 h before the target hour.www.nature.com/scientificreports/Our gradient boosting classifier We used sklearn.ensemble.GradientBoostingClassifier to create our gradient boosting classifier for predicting the traffic status after 6 h.Our gradient boosting classifier achieved an accuracy score of 0.9826.We now list the other performance scores our gradient boosting classifier reached for the three classes: low, mild, and high traffic, respectively.The F score of our gradient boosting classifier is [0.9927 0.9564 0.9855]; the precision score is [0.9856 0.9652 0.9883]; the recall score is [1.0000 0.9478 0.9826]; the Jaccard score is [0.9856 0.9165 0.9714].Figure 22 shows the confusion matrix of our gradient boosting classifier.
Figure 23 shows the learning curve of our gradient boosting classifier predicting the traffic status after 6 h. Figure 23 plots the accuracy score of our gradient boosting classifier against the number of training examples.The learning curve shown in Figure 23 suggests that the accuracy of predicting the traffic status after 6 h using our gradient boosting classifier remains the same when trained on 25,500-20,000 examples.Additionally, the figure suggests that our gradient boosting classifier is overfitting-free.
The feature importance of our gradient boosting classifier is depicted in Fig. 24, implying that the most critical feature of our gradient boosting classifier predicting the traffic status after 6 h is the traffic status, t0, 24 h before the target hour.The second most important features are t11 and t15, respectively, the traffic status 13 and 9 h before the target hour.

Our nearest neighbors classifier
We utilized sklearn.neighbors.KNeighborsClassifier to construct our nearest neighbors classifier for predicting the traffic status after 6 h on our study's street.The classifier achieved an accuracy of 0.9840.We now report the other performance scores our nearest neighbor classifier reached concerning the three classes: low, mild, and high traffic, respectively.The F score of our classifier is [0.9943 0.9608 0.9855]; the precision score is [1.0000

Figure 24.
Feature importance of our gradient boosting classifier predicting the traffic status after 6 h.
Figure 26 shows the learning curve of our nearest neighbors classifier predicting the traffic status after 6 h. Figure 26 graphs the accuracy score of our nearest neighbors classifier against the number of training examples.The learning curve shown in Figure 26 suggests that the accuracy of predicting the traffic status after 6 h using our nearest neighbors classifier remains the same when the classifier is trained on 2500-20,000 examples.Moreover, the figure indicates that our nearest neighbors classifier is overfitting-free.
Figure 27 depicts the feature importance of our nearest neighbors classifier.It indicates that the most significant feature for predicting the traffic status after 6 h is the traffic status, t0, 24 h before the target hour.The second most important feature is t18, the traffic status 6 h before the target hour.

Our support vector machine classifier
We utilized sklearn.svm.SVM to construct our support vector machine classifier for predicting the traffic status after 6 h on our study's street.Our support vector machine classifier achieved an accuracy of 0.9826.We now state the other performance scores our support vector machine classifier reached concerning the three classes: low, mild, and high traffic, respectively.The F score of our classifier is [0.9927 0.9564 0.9855]; the precision score is [0.9856 0.9652 0.9883]; the recall score is [1.0000 0.9478 0.9826]; the Jaccard score is [0.9856 0.9165 0.9714].Figure 28 shows the confusion matrix of our support vector machine classifier.
Figure 29 shows the learning curve of our support vector machine classifier, which predicts the traffic status after 6 h. Figure 29     www.nature.com/scientificreports/h using our support vector machine classifier remains the same when the classifier is trained on 7000-20,000 examples.Moreover, the figure suggests that our support vector machine classifier is overfitting-free.Figure 30 depicts the feature importance of our support vector machine classifier, stating that several features are critical to predicting the traffic status after 6 h using our support vector machine classifier; most notably, the feature t12, the traffic status 12 h before the target hour.

Summary of results
Table 1 compares the performance of our models in predicting the vehicle travel time after 6 h on our study's street.We note that our models' performance is comparable without significant variations.However, the models's most important predictors vary greatly, as observed in the last two rows in Table 1; recall that t i refers to the average vehicle travel time during the hour i.
Table 2 compares the performance of our models in predicting the traffic status after 6 h on our study's street.We note that our models' performance is comparable without significant variations.However, the models's most important predictors vary greatly, as observed in the last two rows in Table 2.

Implication of results
We carried out the experiments reported earlier to test our two hypotheses.Regarding our first hypothesis, we wanted to check if the vehicle travel time after 6 h on a city street can be predicted to a certain degree, provided the hourly vehicle travel time on the given street in the last 19 h.For our second hypothesis, we wanted to see if the traffic status (as low, mild, or high traffic) on a city street can be predicted, provided the hourly traffic status on the given street in the last 19 h.We examined our hypotheses on a main street in the capital city of Jordan, Amman.Our experimental results showed that our created predictive models are highly accurate, with an accuracy of around 98-99%.Thus, our results positively answer the questions implied by our study's hypothesis.This is because our predictive models are highly accurate concerning the prediction tasks entailed by our hypothesis.By utilizing the hourly vehicle travel time on our study's street in the last 19 h, our models show high accuracy in predicting the vehicle travel time after 6 h on the street.Likewise, by employing the hourly traffic status on the street in the last 19 h, our models show high accuracy in predicting the traffic status after 6 h on the street.www.nature.com/scientificreports/Concerning our investigations for the most critical predictors of vehicle travel time and traffic status after 6 h on the street, the variation between our predictive models is notable.

Limitation of results
We note that the limitation of our study is that our hypotheses are examined on one street.To strengthen our results, our experiments can be replicated (perhaps in other cities or countries) on streets with different characteristics such as street length, street width, number of traffic lights on the street, number of junctions on the street, and number of shops on the street.Also, our predictive models were constructed based entirely on hourly traffic status (and vehicle travel time) on the concerned street in the last 19 h.Still, other possible predictors, such as weather conditions, special events, unplanned holidays, construction works, accidents, and emergent street maintenance, were overlooked by our examinations because such data features were not available in this study.

Conclusion
We reported our experimental study of testing the hypothesis of whether the vehicle travel time (respectively, the traffic status) after 6 h on a given street can efficiently be predicted based on the hourly vehicle travel time (respectively, the traffic status) on the street in the last 19 h.As our findings positively confirm the questions of our hypothesis, our study impacts how city map applications estimate the vehicle travel time on a given street.Although map applications are excellent in tracking the instant traffic status of streets, map applications (e.g., Google Maps) give users a loose estimate if the users query about vehicle travel time for a trip that will start later after a while, say after 6 h.Therefore, for personal planning ahead of city trips, our results encourage map applications to incorporate predictive models into their systems, providing their users with more effective tools for navigating city streets.On the other hand, for authorities responsible for street traffic management, our results are encouraging to exploit street traffic data in the last few hours to locate streets with traffic congestion, and thus, traffic authorities are more productive in controlling traffic jams on the identified streets.
In the future, we aim to investigate the possibility of predicting the vehicle travel time (and traffic status) on a given street for the next day to enable the concerned users to plan and have plenty of time to take any required actions.Take the scenario where very critical events need to be arranged at the earliest for either personal purposes, such as a wedding event, or for street traffic management purposes, dealing with a football match, for instance, where traffic authorities might be more interested in identifying streets with low traffic to set an effective street diversion plan to get most of the traffic away from the location of the event.

Figure 1 .
Figure 1.Overview of our research design.

Figure 3 .
Figure 3.A sample of our data as obtained from Google Maps.

Figure 4 .
Figure 4.A sample of the time series data prepared for constructing models predicting the vehicle travel time after 6 h on the study's street.

Figure 5 .
Figure 5.A sample of the time series data prepared for constructing a model predicting the traffic status after 6 h on our study's street.
plots the R 2 score of our neural network regressor against the number of training examples.The

Figure 6 .
Figure 6.R 2 learning curve of our AdaBoost regressor predicting the vehicle travel time after 6 h.

Figure 7 .
Figure 7. Feature importance of our AdaBoost regressor predicting the vehicle travel time after 6 h.

Figure 8 .
Figure 8. R 2 learning curve of our neural network regressor predicting the vehicle travel time after 6 h.

Figure 9 .
Figure 9. Feature importance of our neural network regressor predicting the vehicle travel time after 6 h.

Figure 10 .
Figure10.R 2 learning curve of our gradient boosting regressor predicting the vehicle travel time after 6 h.

Figure 11 .
Figure 11.Feature importance of our gradient boosting regressor predicting the vehicle travel time after 6 h.

Figure 13 .
Figure 13.Feature importance of our nearest neighbors regressor predicting the vehicle travel time after 6 h.

Figure 14 .Figure 15 .
Figure14.R 2 learning curve of our support vector machine regressor predicting the vehicle travel time after 6 h.

Figure 16 .
Figure 16.The confusion matrix of our AdaBoost classifier predicting the traffic status after 6 h.

Figure 17 .
Figure 17.Accuracy-score learning curve of our AdaBoost classifier predicting the traffic status after 6 h.

Figure 18 .
Figure 18.Feature importance of our AdaBoost classifier predicting the traffic status after 6 h.

Figure 19 .
Figure19.The confusion matrix of our neural network classifier predicting the traffic status after 6 h.

Figure 20 .
Figure 20.Accuracy-score learning curve of our neural network classifier predicting the traffic status after 6 h.

Figure 21 .Figure 22 .
Figure 21.Feature importance of our neural network classifier predicting the traffic status after 6 h.

Figure 23 .
Figure 23.Accuracy-score learning curve of our gradient boosting classifier predicting the traffic status after 6 h.

Figure 25 .
Figure 25.The confusion matrix of our nearest neighbors classifier predicting the traffic status after 6 h.

Figure 26 .Figure 27 .
Figure 26.Accuracy-score learning curve of our nearest neighbors classifier predicting the traffic status after 6 h.

Figure 28 .
Figure 28.The confusion matrix of our support vector machine classifier predicting the traffic status after 6 h.

Figure 29 .
Figure29.Accuracy-score learning curve of our support vector machine classifier predicting the traffic status after 6 h.

Figure 30 .
Figure 30.Feature importance of our support vector machine classifier predicting the traffic status after 6 h.

Table 1 .
Summary of results of models predicting the vehicle travel time after 6 h on our study's street.

Table 2 .
Summary of results of models predicting the traffic status after 6 h on our study's street.