Massive volumes of data generated by large numbers of connected Internet of Things (IoT) devices impact both IoT service and network performance. Packet routing is an ever-important networking feature that enables the transmission of data packets across interconnected IoT networks. Usually, classical proactive and reactive routing protocols use the information of their neighbours to build a global view of the network by the mean of control messages and then calculate a path to the destination. After a packet has been delivered, history is discarded, and only actual information is used to determine new paths. In the present research work, we propose applying a Machine Learning (ML) approach to take advantage of previously successfully taken routing decisions and build new decision models that nodes can use to make intelligent routing decisions. In our proposal, we integrate three machine learning techniques: Decision Trees(DT), Support Vector Machines (SVM), and Artificial Neural Networks (ANN) into the well-known Ad hoc On-demand Distance Vector (AODV) routing protocol and evaluate the efficiency of solution variants for packets routing in IoT-connected smart city scenario. The assessment results show that the proposed ML-based routing solutions outperform the AODV protocol and decrease the use of control messages to more than 50% of the overall communication overhead. Therefore, network performances are more optimized, and network lifetime is also increased.