Machine learning-based spreading factor optimization in LoRaWAN networks | Synapse