Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Building a Recommendation System with R
Building a Recommendation System with R

Building a Recommendation System with R: Learn the art of building robust and powerful recommendation engines using R

Free Trial per month
Book Sep 2015 158 pages 1st Edition
eBook
₱1,346.99 ₱941.99
Print
₱1,683.99
Subscription
Free Trial
eBook
₱1,346.99 ₱941.99
Print
₱1,683.99
Subscription
Free Trial

What do you get with a Packt Subscription?

Free for first 7 days. $15.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details


Publication date : Sep 29, 2015
Length 158 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781783554492
Category :
Languages :
Table of content icon View table of contents Preview book icon Preview Book

Building a Recommendation System with R

Chapter 1. Getting Started with Recommender Systems

How do we buy things in our day-to-day lives? We ask our friends, research the product specifications, compare the product with similar products on the Internet, read the feedback from anonymous users, and then we make decisions. How would it be if there is some mechanism that does all these tasks automatically and recommends the products best suited for you efficiently? A recommender system or recommendation engine is the answer to this question.

In this introductory chapter, we will define a recommender system in terms of the following aspects:

  • Helping to develop an understanding of its definition

  • Explaining its basic functions and providing a general introduction of popular recommender systems

  • Highlighting the importance of evaluation techniques

Understanding recommender systems


Have you ever given a thought to the "People you may know" feature in LinkedIn or Facebook? This feature recommends a list of people whom you might know, who are similar to you based on your friends, friends of friends in your close circle, geographical location, skillsets, groups, liked pages, and so on. These recommendations are specific to you and differ from user to user.

Recommender systems are the software tools and techniques that provide suggestions, such as useful products on e-commerce websites, videos on YouTube, friends' recommendations on Facebook, book recommendations on Amazon, news recommendations on online news websites, and the list goes on.

The main goal of recommender systems is to provide suggestions to online users to make better decisions from many alternatives available over the Web. A better recommender system is directed more towards personalized recommendations by taking into consideration the available digital footprint of the user and information about a product, such as specifications, feedback from the users, comparison with other products, and so on, before making recommendations.

The structure of the book


In this book, we will learn about popular recommender systems that are used the most. We will also look into different machine learning techniques used when building recommendation engines with sample code.

The book is divided into 5 chapters:

  • In Chapter 1, Getting Started with Recommender Systems, you will get a general introduction to recommender systems, such as collaborative filtering recommender systems, content-based recommender systems, knowledge-based recommender systems, and hybrid systems; it will also include a brief definition, real-world examples, and brief details of what one will be learning while building a recommender system.

  • In Chapter 2, Data Mining Techniques Used in Recommender Systems, gives you an overview of different machine learning concepts that are commonly used in building a recommender system and how a data analysis problem can be solved. This chapter includes data preprocessing techniques, such as similarity measures, dimensionality reduction, data mining techniques, and its evaluation techniques. Here similarity measures such as Euclidean distance, Cosine distance, Pearson correlation are explained. We will also cover data mining algorithms such as k-means clustering, support vector machines, decision trees, bagging, boosting, and random forests, along with a popular dimensional reduction technique, PCA. Evaluation techniques such as cross validation, regularization, confusion matrix, and model comparison are explained in brief.

  • In Chapter 3, Recommender Systems, we will discuss collaborative filtering recommender systems, an example for user- and item-based recommender systems, using the recommenderlab R package, and the MovieLens dataset. We will cover model building, which includes exploring data, splitting it into train and test datasets, and dealing with binary ratings. You will have an overview of content-based recommender systems, knowledge-based recommender systems, and hybrid systems.

  • In Chapter 4, Evaluating the Recommender Systems, we will learn about the evaluation techniques for recommender systems, such as setting up the evaluation, evaluating recommender systems, and optimizing the parameters.

  • In Chapter 5, Case Study – Building Your Own Recommendation Engine, we will understand a use case in R, which includes steps such as preparing the data, defining the rating matrix, building a recommender, and evaluating and optimizing a recommender.

Collaborative filtering recommender systems


The basic idea of these systems is that, if two users share the same interests in the past, that is, they liked the same book, they will also have similar tastes in the future. If, for example, user A and user B have a similar purchase history and user A recently bought a book that user B has not yet seen, the basic idea is to propose this book to user B. The book recommendations on Amazon are one good example of this type of recommender system.

In this type of recommendation, filtering items from a large set of alternatives is done collaboratively between users preferences. Such systems are called collaborative filtering recommender systems.

While dealing with collaborative filtering recommender systems, we will learn about the following aspects:

  • How to calculate the similarity between users

  • How to calculate the similarity between items

  • How do we deal with new items and new users whose data is not known

The collaborative filtering approach considers only user preferences and does not take into account the features or contents of the items being recommended. This approach requires a large set of user preferences for more accurate results.

Content-based recommender systems


This system recommends items to users by taking the similarity of items and user profiles into consideration. In simpler terms, the system recommends items similar to those that the user has liked in the past. The similarity of items is calculated based on the features associated with the other compared items and is matched with the user's historical preferences.

As an example, we can assume that, if a user has positively rated a movie that belongs to the action genre, then the system can learn to recommend other movies from the action genre.

While building a content-based recommendation system, we take into consideration the following questions:

  • How do we create similarity between items?

  • How do we create and update user profiles continuously?

This technique doesn't take into consideration the user's neighborhood preferences. Hence, it doesn't require a large user group's preference for items for better recommendation accuracy. It only considers the user's past preferences and the properties/features of the items.

Knowledge-based recommender systems


These types of recommender systems are employed in specific domains where the purchase history of the users is smaller. In such systems, the algorithm takes into consideration the knowledge about the items, such as features, user preferences asked explicitly, and recommendation criteria, before giving recommendations. The accuracy of the model is judged based on how useful the recommended item is to the user. Take, for example, a scenario in which you are building a recommender system that recommends household electronics, such as air conditioners, where most of the users will be first timers. In this case, the system considers features of the items, and user profiles are generated by obtaining additional information from the users, such as specifications, and then recommendations are made. These types of system are called constraint-based recommender systems, which we will learn more about in subsequent chapters.

Before building these types of recommender systems, we take into consideration the following questions:

  • What kind of information about the items is taken into the model?

  • How are user preferences captured explicitly?

Hybrid systems


We build hybrid recommender systems by combining various recommender systems to build a more robust system. By combining various recommender systems, we can eliminate the disadvantages of one system with the advantages of another system and thus build a more robust system. For example, by combining collaborative filtering methods, where the model fails when new items don't have ratings, with content-based systems, where feature information about the items is available, new items can be recommended more accurately and efficiently.

Before building a hybrid model, we consider the following questions:

  • What techniques should be combined to achieve the business solution?

  • How should we combine various techniques and their results for better predictions?

Evaluation techniques


Before rolling out the recommender system to the users, how do we ensure that the system is efficient or accurate? What is the base on which we state that the system is good? As stated earlier, the goal of any recommendation system is to recommend more relevant and useful items to the user. A lot of research has been happening in developing new methods to evaluate the recommender systems to improve the accuracy of the systems.

In Chapter 4, Evaluating the Recommender Systems, we will learn about the different evaluation metrics employed to evaluate the recommender systems, these include setting up the evaluation, evaluating recommender systems, optimizing the parameters. This chapter also focuses on how important evaluating the system is during the design and development phases of building recommender systems and the guidelines to be followed in selecting an algorithm based on the available information about the items and the problem statement. This chapter also covers the different experimental setups in which recommender systems are evaluated.

A case study


In Chapter 5, Case Study – Building Your Own Recommendation Engine, we take a case study and build a recommender system step by step as follows:

  1. We take a real-life case and understand the problem statement and its domain aspects

  2. We then perform the data preparation, data source identification, and data cleansing step

  3. Then, we select an algorithm for the recommender system

  4. We then look into the design and development aspects while building the model

  5. Finally, we evaluate and test the recommender system

The implementation of the recommender system is done using R, and code samples will be provided in the book. At the end of this chapter, you will be confident enough to build your own recommendation engine.

The future scope


In the final chapter, I will wrap up by giving the summary of the book and the topics covered. We will focus on the future scope of the research that you will have to undertake. Then we will provide a brief introduction to the current research topics and advancements happening in the field of recommendation systems. I will also list book references and online resources during the course of this book.

Summary


In this chapter, you read a synopsis of the popular recommender systems available on the market. In the next chapter, you will learn about the different machine learning techniques used in recommender systems.

Left arrow icon Right arrow icon

Key benefits

What you will learn

Get to grips with the most important branches of recommendation Understand various data processing and data mining techniques Evaluate and optimize the recommendation algorithms Prepare and structure the data before building models Discover different recommender systems along with their implementation in R Explore various evaluation techniques used in recommender systems Get to know about recommenderlab, an R package, and understand how to optimize it to build efficient recommendation systems

What do you get with a Packt Subscription?

Free for first 7 days. $15.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details


Publication date : Sep 29, 2015
Length 158 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781783554492
Category :
Languages :

Table of Contents

13 Chapters
Building a Recommendation System with R Chevron down icon Chevron up icon
Credits Chevron down icon Chevron up icon
About the Authors Chevron down icon Chevron up icon
About the Reviewer Chevron down icon Chevron up icon
www.PacktPub.com Chevron down icon Chevron up icon
Preface Chevron down icon Chevron up icon
Getting Started with Recommender Systems Chevron down icon Chevron up icon
Data Mining Techniques Used in Recommender Systems Chevron down icon Chevron up icon
Recommender Systems Chevron down icon Chevron up icon
Evaluating the Recommender Systems Chevron down icon Chevron up icon
Case Study – Building Your Own Recommendation Engine Chevron down icon Chevron up icon
References Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Filter icon Filter
Top Reviews
Rating distribution
Empty star icon Empty star icon Empty star icon Empty star icon Empty star icon 0
(0 Ratings)
5 star 0%
4 star 0%
3 star 0%
2 star 0%
1 star 0%

Filter reviews by


No reviews found
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.