Email the Author
You can use this page to email Hisham El-Amir about Recommendation Systems with Python.
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. You can download the codes from here in both .py
and interactive colab
Parts of the Book.
Part 1: Introduction and Background. This part will give you a good introduction about the recommendation engines and how it works, what its types. Not only that, this chapter will prepare you too, by showing you how to build the environment needed to work on real-life project, and a crash course on pre-requisites, to get ready before starting learning about recommendations.
Part 2: Techniques and Theories of Recommendation Engines. This part covers almost all the required algorithms to build any type of recommendation engine. Also, we covers these algorithms not only in a Technical manner, but also the Theoretical too.
Part 3: Evaluation and Applications. In this part, we will end the book with how to evaluate your recommendation engine, and test it. Also, we will give some applications for you to experience how to build a recommendation system, with the steps covered in this book.
Chapters of the Book.
Chapter 1: Getting Started with Recommender Systems. 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.
Chapter 2: Environment Setup and Prerequisites. 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.
Chapter 3: Build a Tiny Recommendation Engine. 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 movies 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.
Chapter 4: Understanding Data. 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.
Chapter 5: Collaborative Recommendation. 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.
Chapter 6: Content-based Recommendation. 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.
Chapter 7: Knowledge-based recommendation. 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.
Chapter 8: Hybrid recommendation approaches. 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.
Chapter 9: Data Mining Techniques Used in Recommender Systems. 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.
Chapter 10: Explanations in recommender systems. 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.
Chapter 11: Evaluating recommender systems. 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.
Chapter 12: Evaluating Techniques. 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.
Chapter 13: Case Study -- Building Large Recommendation Engine. 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.
About the Author
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.