In this chapter, we looked at the basics of machine learning by understanding the various applications of machine learning, preprocessing techniques, and then three algorithms. Logistic regression and support vector machines are types of supervised machine learning algorithms, which require the developer to pass labeled training data. Then we looked at an unsupervised machine learning algorithm called k-means, which requires us to give just the data as input. Both types of learning algorithms are useful depending on the kind of data we have and the application that we are trying to build. There are more sophisticated techniques in machine learning, such as neural networks, which we will look at in more depth in the next chapter.