Book Image

Python Machine Learning Cookbook

By : Prateek Joshi, Vahid Mirjalili
Book Image

Python Machine Learning Cookbook

By: Prateek Joshi, Vahid Mirjalili

Overview of this book

Machine learning is becoming increasingly pervasive in the modern data-driven world. It is used extensively across many fields such as search engines, robotics, self-driving cars, and more. With this book, you will learn how to perform various machine learning tasks in different environments. We’ll start by exploring a range of real-life scenarios where machine learning can be used, and look at various building blocks. Throughout the book, you’ll use a wide variety of machine learning algorithms to solve real-world problems and use Python to implement these algorithms. You’ll discover how to deal with various types of data and explore the differences between machine learning paradigms such as supervised and unsupervised learning. We also cover a range of regression techniques, classification algorithms, predictive modeling, data visualization techniques, recommendation engines, and more with the help of real-world examples.
Table of Contents (19 chapters)
Python Machine Learning Cookbook
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Computing the Pearson correlation score


The Euclidean distance score is a good metric, but it has some shortcomings. Hence, Pearson correlation score is frequently used in recommendation engines. Let's see how to compute it.

How to do it…

  1. Create a new Python file, and import the following packages:

    import json
    import numpy as np
  2. We will define a function to compute the Pearson correlation score between two users in the database. Our first step is to confirm that these users exist in the database:

    # Returns the Pearson correlation score between user1 and user2 
    def pearson_score(dataset, user1, user2):
        if user1 not in dataset:
            raise TypeError('User ' + user1 + ' not present in the dataset')
    
        if user2 not in dataset:
            raise TypeError('User ' + user2 + ' not present in the dataset')
  3. The next step is to get the movies that both these users rated:

        # Movies rated by both user1 and user2
        rated_by_both = {}
    
        for item in dataset[user1]:
            if item in dataset[user2...