Book Image

Mastering Machine Learning with scikit-learn - Second Edition

By : Gavin Hackeling
Book Image

Mastering Machine Learning with scikit-learn - Second Edition

By: Gavin Hackeling

Overview of this book

Machine learning is the buzzword bringing computer science and statistics together to build smart and efficient models. Using powerful algorithms and techniques offered by machine learning you can automate any analytical model. This book examines a variety of machine learning models including popular machine learning algorithms such as k-nearest neighbors, logistic regression, naive Bayes, k-means, decision trees, and artificial neural networks. It discusses data preprocessing, hyperparameter optimization, and ensemble methods. You will build systems that classify documents, recognize images, detect ads, and more. You will learn to use scikit-learn’s API to extract features from categorical variables, text and images; evaluate model performance, and develop an intuition for how to improve your model’s performance. By the end of this book, you will master all required concepts of scikit-learn to build efficient models at work to carry out advanced tasks with the practical approach.
Table of Contents (22 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
9
From Decision Trees to Random Forests and Other Ensemble Methods
Index

Naive Bayes


In the first section of this chapter, we described Bayes' theorem. Recall that it is given by the following:

Let's rewrite Bayes' theorem in terms that are more natural for a classification task:

In the preceding formula, y is the positive class, x1 is the first feature for the instance, and n is the number of features. P(B) is constant for all inputs, so we can omit it; the probability of observing a particular feature in the training set does not vary for different test instances. This leaves two terms: the prior class probability, P(y), and the conditional probability, P(x1, ..., xn|y). Naive Bayes estimates these terms using maximum a posteriori estimation. P(y) is simply the frequency of each class in the training set. For categorical features, P(xi|y) is simply the frequency of the feature in the training instances belonging to that class. Its estimate is given by the following formula:

The numerator is the number of times that the feature appears in training samples of class...