Recommendation Systems with Python
Recommendation Systems with Python
Minimum price
Suggested price
Recommendation Systems with Python

This book is 60% complete

Last updated on 2020-01-03

About the Book

This book will teaches you how to build recommendation engine using Python. It starts by providing you with some the knowledge you need about the recommendation engine and it's types. After that this book will give you the knowledge about relevant data mining and machine learning concepts that used in recommendation engines and how to deal with data and all the steps needed for data analysis and munging. Then, it shows how to build and optimize recommendation models using Python and gives you the knowledge to evaluate and optimize your recommendation engine. In the end, it shows a practical use case. After reading this book, you will know how to build a new recommendation engine on your own.

PS: You can see a beautiful version of table of content here, also you can comment if you have any inquiry too.

About the Author

Hisham El-Amir
Hisham El-Amir

Hisham Elamir is a data scientist with expertise in machine learning, deep learning, and statistics. He currently lives and works in Cairo, Egypt. In his work projects, he faces challenges ranging from natural language processing (NLP), behavioral analysis, and machine learning to distributed processing. He is very passionate about his job and always tries to stay updated about the latest developments in data science technologies, attending meet-ups, conferences, and other events.

Table of Contents

Part 1: Introduction and Background
  1. Chapter 1: Getting Started with Recommender Systems
  2. In this chapter, will be the introduction to the recommendation systems, why we need these types of systems. This chapter will be a refresher to you and an introduction to the beginners of recommendation engines. This chapter introduces the need, taxonomy of recommendation engines, and popular recommendation engines that people use in their day-to-day lives. Popular recommendation engine approaches available along with their pros and cons are covered.
    1. What is the Recommendation engine?
    2. Need for recommender systems.
    3. Taxonomy of recommender systems.
    4. Domain.
    5. Purpose.
    6. Context.
    7. Personalization level.
    8. Whose opinions.
    9. Privacy and trustworthiness.
    10. Interface.
    11. Algorithms.
    12. Type of Recommender systems.
    13. Collaborative filtering recommender systems.
    14. Content-based recommender systems.
    15. Knowledge-based recommender systems.
    16. Hybrid systems.
    17. Domain-Specific Challenges.
    18. Context-Based Recommender Systems.
    19. Time-Sensitive Recommender Systems.
    20. Location-Based Recommender Systems.
    21. Social Recommender Systems.
    22. Problems of Recommender Systems.
    23. Evaluation techniques.
    24. Summary.
      1. Chapter 2: Environment Setup and Prerequisites
      2. After introducing and giving the differences of the recommendation engines and its types, we need to go a bit technical before we can get started. We will start with environment setup, how to prepare your environment setup for developing, building and evaluating a recommendation engine. Then we need to test if you have all prerequisites, and to be sure, we will take a tour through all what you need from python to pandas to all Machine Learning libraries you will use in this book.
        1. What is your Environment?
        2. Why Python for Data Analysis?
        3. Python as Glue
        4. Solving the “Two-Language” Problem
        5. Why Not Python?
        6. Essential Python Libraries
        7. NumPy
        8. pandas
        9. matplotlib
        10. IPython and Jupyter
        11. SciPy
        12. scikit-learn
        13. Statsmodels
        14. Installation and Setup
        15. Windows
        16. Apple (OS X, macOS)
        17. GNU/Linux
        18. Installing or Updating Python Packages
        19. Python 2 and Python 3
        20. Integrated Development Environments (IDEs) and Text Editors
        21. Getting Started with Pandas.
        22. An Introduction to Data Structures.
        23. Series.
        24. DataFrame.
        25. Index Objects.
        26. Essential Functionality.
        27. Reindexing.
        28. Dropping Entries from an Axis.
        29. Indexing, Selection, and Filtering.
        30. Integer Indexes.
        31. Arithmetic and Data Alignment.
        32. Function Application and Mapping.
        33. Sorting and Ranking.
        34. Axis Indexes with Duplicate Labels.
        35. Summarizing and Computing Descriptive Statistics.
        36. Correlation and Covariance.
        37. Unique Values, Value Counts, and Membership.
      3. Chapter 3: Build a Tiny Recommendation Engine
      4. In this chapter, we will show the audience the big picture of recommendation engines by building a tiny one, this short chapter about how to build a movie recommendation engine to give a head start for us to learn the steps of building engines before we take off into the world of recommendation engines.
        1. Basic Steps for Efficient Recommender System.
        2. Loading Data.
        3. Preprocessing and Formatting Data.
        4. Recommendation Blocks.
        5. Getting out the Recommendations.
        6. Building our basic recommendation engine.
        7. Step 1: Loading and formatting data.
        8. Step 2: Calculating the similarity between users.
        9. Step 3: Predicting the unknown ratings for users.
        10. Summary.
      Part 2: Techniques and Theories of Recommendation Engines
      1. Chapter 4: Understanding Data
      2. Before you start studying the recommendation algorithms, and how to apply them. You need to learn about the data, as understanding data is one step through solving the problem. Here we will elaborate the data you are going to deal with in multiple point-of-views, showing a comparison between data types and how to deal with each type.
        1. Why should you read this chapter?
        2. Structured, semi-structured and unstructured data
        3. Quantitative versus Qualitative data
        4. Example -- MovieLens
        5. Example -- IMDB
        6. Divide and Conquer
        7. Making a checkpoint
        8. The four levels of data
        9. Measurement of Center
        10. The nominal level
        11. Mathematical operations allowed for Nominal
        12. Measures of center for Nominal
        13. What does it mean to be a nominal level type
        14. The ordinal level
        15. Examples of being Ordinal
        16. What data is like at the ordinal level
        17. Mathematical operations allowed for Ordinal
        18. Measures of center for Ordinal
        19. Quick recap and check
        20. The Interval Level
        21. Examples of Interval Level data
        22. What data is like at the interval level
        23. Mathematical operations allowed for Interval
        24. Measures of center for Interval
        25. Measures of variation for Interval
        26. Standard deviation
        27. The Ratio Level
        28. Examples
        29. Measures of center for Ratio level
        30. Problems with the ratio level
        31. Summarizing All Levels
        32. Properties of Ratings
        33. Rating Matrix
        34. Continuous ratings, Interval-based ratings and Ordinal ratings.
        35. Binary ratings and Unary ratings.
        36. Implicit and Explicit ratings.
        37. Summary
      3. Chapter 5: Collaborative Recommendation
      4. This chapter is about how to build collaborative filtering in both ways user-based and item-based collaborative filtering. We’ll illustrate each type in detail with examples, also we will talk about ratings and how it controls and models the shape and distribution of data. Finally we will talk about some approaches used in collaborative recommendations.
        1. Understanding ratings and rating data.
        2. User-based nearest-neighbor recommendation.
        3. Similarity Function.
        4. Example of User-Based Algorithms.
        5. Item-based nearest neighbor recommendation.
        6. Similarity Function.
        7. Example of User-Based Algorithms.
        8. Comparing User-Based and Item-Based recommendations.
        9. Strengths and Weaknesses of Collaborative Filtering.
        10. Clustering as Collaborative Filters.
        11. Further model-based and preprocessing-based approaches.
        12. summary.
      5. Chapter 6: Content-based Recommendation
      6. In this chapter, we will continue illustrating recommendation engine types with the Content-based recommender systems, which try to match users to items that are similar to what they have liked in the past. In this chapter, we will prove that similarity is not necessarily based on rating correlations across users. But also, on the basis of the attributes of the objects liked by the user.
        1. Content representation and content similarity.
        2. Basic Components of Content-Based Systems.
        3. Preprocessing and Feature Extraction.
        4. Feature Extraction.
        5. Feature Representation.
        6. Collecting User Ratings.
        7. Feature Selection and Weighting.
        8. Similarity-based retrieval.
        9. Learning User Profiles and Filtering.
        10. Content-Based vs. Collaborative Recommendations.
        11. Content-Based Models for Collaborative Filtering.
        12. Summary.
      7. Chapter 7: Knowledge-based recommendation
      8. Both content-based and collaborative recommendation engines require a significant amount of data about past buying and rating experiences. And if we have a lack of data, then we will face a problem called cold-start. So in this chapter, we will describe a new type of recommendation engine that can handle a problem like this, by applying new approaches on the limited data that we have.
        1. Introduction.
        2. Knowledge representation and reasoning.
        3. Interacting with constraint-based recommenders.
        4. Interacting with case-based recommenders.
        5. Example applications.
        6. Summary.
      9. Chapter 8: Hybrid recommendation approaches
      10. In the previous chapter, we described different types of recommendation engines, but they are all similar in one thing, every one of these recommender classes have a leak. All these models seem rather restrictive in isolation, especially when multiple sources of data are available. In general, one would like to make use of all the knowledge available in different data sources and also use the algorithmic power of various recommender systems to make robust inferences. Hybrid recommender systems have been designed to explore these possibilities. There are three primary ways of creating hybrid recommender systems:
        1. Opportunities for hybridization.
        2. Monolithic hybridization design.
        3. Parallelized hybridization design.
        4. Pipelined hybridization design.
        5. summary.
      11. Chapter 9: Data Mining Techniques Used in Recommender Systems
      12. By ending this part, we have discussed many recommender system types, we illustrated the techniques of building these classes. So, in this chapter we will show you more of these techniques, approaches to build each type of recommender systems.
        1. Solving a data analysis problem.
        2. Data preprocessing techniques.
        3. Similarity measures.
        4. Euclidean distance.
        5. Cosine distance.
        6. Pearson correlation.
        7. Dimensionality reduction.
        8. Principal component analysis.
        9. Data mining and machine learning techniques.
        10. Cluster analysis.
        11. Explaining the k-means cluster algorithm.
        12. Support vector machine.
        13. Decision trees.
        14. Ensemble methods.
        15. Bagging.
        16. Random forests.
        17. Boosting.
        18. Evaluating data-mining algorithms.
        19. Summary.
      13. Chapter 10: Explanations in recommender systems
      14. One of things that recommendations should show to us --the users-- is to explain why these recommendations appeared on our screens. This is not an easy-to-monitor task, most companies when they tend to build a recommendation engine, they tend to escape explaining to users why. This chapter will explain a type of recommendations that recommend and explain to users why these items are recommended and based on what criteria.
        1. Introduction.
        2. constraint-based recommendations.
        3. case-based recommendations.
        4. collaborative filtering recommendations.
        5. Summary.
      Part 3: Evaluation and Applications
      1. Chapter 11: Evaluating recommender systems
      2. In this chapter we review the process of evaluating a recommendation system. We discuss three different types of experiments; offline, user studies and online experiment. Also, this chapter shows how to measure the performance of a recommender and how to optimize it.
        1. Introduction.
        2. General properties of evaluation research.
        3. Popular evaluation designs.
        4. Evaluation of historical datasets.
        5. Alternate evaluation designs.
        6. Summary
      3. Chapter 12: Evaluating Techniques
      4. In this chapter, we will show you almost all the evaluation techniques that are used in real-life problems and projects, continuing to show to you how to measure the performance of a recommendation and how to optimize it using these techniques.
        1. Preparing the test data to evaluate the models.
        2. Splitting the data.
        3. Bootstrapping data.
        4. Using k-fold to validate models.
        5. Evaluating recommender techniques.
        6. Evaluating the ratings.
        7. Evaluating the recommendations.
        8. Identifying the most suitable model.
        9. Comparing models.
        10. Identifying the most suitable model.
        11. Optimizing a numeric parameter.
        12. Summary.
      5. Chapter 13 : Case Study -- Building Large Recommendation Engine
      6. Finally, we will show to you in this chapter how to solve a business challenge by building and optimizing a recommender engine. Giving an example to help you to sharpen the skills you have earned along with this book.
        1. Step 1: Understanding the data.
        2. Description of the data.
        3. Importing the data.
        4. Step 2: Preparing the data.
        5. Defining a rating matrix.
        6. Extracting item attributes.
        7. Step 3: Building the model.
        8. Step 4: Evaluating and optimizing the model.
        9. Building a function to evaluate the model.
        10. Optimizing the model parameters.
        11. Summary.

Authors have earned$8,704,777writing, publishing and selling on Leanpub,
earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Learn more about writing on Leanpub

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub