Summary
In this chapter, we had our first experience of building a machine learning application, starting from the data and all the way over to the working iOS application. We went through several phases in this chapter:
- Exploratory data analysis using Jupyter, pandas, and Matplotlib
- Data preparation—splitting, and handling categorical variables
- Model prototyping using scikit-learn
- Model tuning and evaluation
- Porting prototype for the mobile platform using Core ML
- Model validation on a mobile device
There are several machine learning topics that we've learned about in this chapter: model parameters vs. hyperparameters, overfitting vs. underfitting, evaluation metrics: cross-validation, accuracy, precision, recall, and F1-score. These are the basic things that will be recurring topics throughout this book.
We've become acquainted with two machine learning algorithms, namely decision trees and random forest, a type of model ensemble.
In the next chapter, we're going to continue exploring classification algorithms, and will learn about instance-based learning algorithms. We will also build an iOS app that can learn right on the device, this time not for alien classification, but for some real-world problem, I promise.