This document provides an overview of machine learning and how it can be applied to IoT scenarios. It discusses different machine learning algorithms like supervised and unsupervised learning. It also compares various machine learning platforms like Azure ML, BigML, Amazon ML, Google Prediction and IBM Watson ML. It provides guidance on choosing the right algorithm based on the data and diagnosing why machine learning models may fail. It also introduces neural networks and deep learning concepts. Finally, it demonstrates Azure ML capabilities through a predictive maintenance example.