In this repository, we are first going to implement the K-Nearest Neighbor algorithm. It’s extremely simple and intuitive, and it’s a great first classification algorithm to learn. We’ll look at some ways in which KNN can fail. It’s important to know both the advantages and disadvantages of each algorithm we look at.
2. Naive Bayes
Next we’ll look at the Naive Bayes Classifier and the General Bayes Classifier. This is a very interesting algorithm to look at because it is grounded in probability. We’ll see how we can transform the Bayes Classifier into a linear and quadratic classifier to speed up our calculations.
Next we’ll look at the famous Decision Tree algorithm. This is the most complex of the algorithms we’ll implement and its important to lay the foundation of one of the most powerful class of algorithms called Ensemble Algorithms.
4. Perceptrons
The last algorithm we’ll look at is the Perceptron algorithm. Perceptrons are the ancestor of neural networks and deep learning, so they are important to study in the context of machine learning.
One we’ve studied these algorithms, we’ll move to more practical machine learning topics. Hyperparameters, cross-validation, feature extraction, feature selection, and multiclass classification.
We’ll discuss the Sci-Kit Learn library, because even though implementing your own algorithms is fun and educational, you should use optimized and well-tested code in your actual work.
We’ll cap things off with a very practical, real-world example by writing a web service that runs a machine learning model and makes predictions. This is something that real companies do and make money from.