In the last few years, Machine Learning (ML) methods have acquired great popularity due to their success in numerous applications such as autonomous cars, image and voice recognition systems, automatic translation systems, etc. This success has led to an increase in the use of ML methods and the extension of their applications to areas such as transport planning.
One of the main tasks within transport planning is the analysis of transport demand. To do so, it is necessary to analyse the way in which users make their decisions about the trips they make and, therefore, be able to predict the number of passengers on the transport network in relation to respect to interventions made on the transport system. Consequently, transport policies and plans can be evaluated according to the behaviour of the passengers. Discrete choice models based on random utility maximization have been developed over the last four decades and currently they have acquired a high degree of sophistication, becoming the canonical tool for transport demand analysis. Nowadays, the use of ML methods could provide an alternative to discrete choice models, as they offer a high level of accuracy in their predictions. In addition, the analyst is relieved from the need of specifying the functional expressions for the utility functions beforehand.
A Python software package called PyKernelLogit was developed to apply a ML method called Kernel Logistic Regression (KLR) to the problem of predicting the transport demand. This package allows the user to specify a set of models using KLR and the estimation of those using a Penalized Maximum Likelihood Estimation procedure. Moreover, this tool also provides a set of indicators for goodness of fit and the application of model validation techniques. Finally, it allows to obtain the willingness to pay or value of time indicators commonly used in transport planning.