

{"id":65127,"date":"2019-07-27T10:14:36","date_gmt":"2019-07-27T04:44:36","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=65127"},"modified":"2024-08-02T15:28:44","modified_gmt":"2024-08-02T09:58:44","slug":"data-science-r-movie-recommendation-system","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/","title":{"rendered":"Machine Learning Project &#8211;  Data Science Movie Recommendation System Project in R"},"content":{"rendered":"<p>Have you ever been on an online streaming platform like Netflix, Amazon Prime, Voot? I watched a movie and after some time, that platform started recommending me different movies and TV shows. I wondered, how the movie streaming platform could suggest me content that appealed to me. Then I came across something known as Recommendation System. This system is capable of learning my watching patterns and providing me with relevant suggestions. Having witnessed the fourth industrial revolution where <a href=\"https:\/\/data-flair.training\/blogs\/ai-tutorials-home\/\"><em><strong>Artificial Intelligence<\/strong><\/em><\/a> and other technologies are dominating the market, I am sure that you must have come across a recommendation system in your everyday life. I am also sure that by this time curiosity must be getting the best of you. Therefore, in this Machine Learning Project, I will teach you to build your own Movie recommendation system. So. let&#8217;s start.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65905\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project.jpg\" alt=\"R project - Movie recommendation system\" width=\"802\" height=\"420\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project.jpg 802w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project-520x272.jpg 520w\" sizes=\"auto, (max-width: 802px) 100vw, 802px\" \/><\/a><\/p>\n<h2>Movie Recommendation System Project using ML<\/h2>\n<p>The main goal of this machine learning project is to build a recommendation engine that recommends movies to users. This R project is designed to help you understand the functioning of how a recommendation system works. We will be developing an Item Based Collaborative Filter. By the end of this tutorial, you will gain experience of implementing your R, Data Science, and <em><strong>Machine learning skills<\/strong><\/em> in a real-life project.<\/p>\n<p>Before moving ahead in this movie recommendation system project in ML, you need to know what recommendation system means. Read below to find the answer.<\/p>\n<h2>What is a Recommendation System?<\/h2>\n<p><em>A recommendation system provides suggestions to the users through a filtering process that is based on user preferences and browsing history<\/em>. The information about the user is taken as an input. The information is taken from the input that is in the form of browsing data. This information reflects the prior usage of the product as well as the assigned ratings.<\/p>\n<p>A recommendation system is a platform that provides its users with various contents based on their preferences and likings. A recommendation system takes the information about the user as an input. The recommendation system is an implementation of the <a href=\"https:\/\/data-flair.training\/blogs\/machine-learning-algorithms\/\"><em><strong>machine learning algorithms<\/strong><\/em><\/a>.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-system-project-in-R.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65402\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-system-project-in-R.png\" alt=\"recommendation system project in R\" width=\"801\" height=\"419\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-system-project-in-R.png 801w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-system-project-in-R-150x78.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-system-project-in-R-300x157.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-system-project-in-R-768x402.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-system-project-in-R-520x272.png 520w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><\/a><\/p>\n<p>A recommendation system also finds a similarity between the different products. For example, <strong><span style=\"color: #ff6600\">Netflix Recommendation System<\/span><\/strong> provides you with the recommendations of the movies that are similar to the ones that have been watched in the past. Furthermore, there is a collaborative content filtering that provides you with the recommendations in respect with the other users who might have a similar viewing history or preferences.<\/p>\n<p>There are two types of recommendation systems &#8211; Content-Based Recommendation System and Collaborative Filtering Recommendation. In this project of recommendation system in R, we will work on a collaborative filtering recommendation system and more specifically, ITEM based collaborative recommendation system.<\/p>\n<p>The biggest benefit of the collaborative filtering approach and especially the item-based one is that it can benefit from the interaction between users and items, thus, while recommending items, it can search for patterns in grouping of the items. Thus, this method does not involve comprehending the content of the items, and, therefore, it can be applied to any type of products and services. Also, it is capable of analyzing big data, and the users get their recommendations in real-time.<\/p>\n<p><em><strong>You must check <a href=\"https:\/\/data-flair.training\/blogs\/data-science-at-netflix\/\">how Netflix recommendation engine works<\/a><\/strong><\/em><\/p>\n<h2>How to build a Movie Recommendation System using Machine Learning<\/h2>\n<h3>Dataset<\/h3>\n<p>In order to build our recommendation system, we have used the MovieLens Dataset. You can find the movies.csv and ratings.csv file that we have used in our Recommendation System Project <a href=\"https:\/\/drive.google.com\/file\/d\/1Dn1BZD3YxgBQJSIjbfNnmCFlDW2jdQGD\/view\"><em><strong>here<\/strong><\/em><\/a>. This data consists of 105339 ratings applied over 10329 movies.<\/p>\n<h3>Importing Essential Libraries<\/h3>\n<p>In our Data Science project, we will make use of these four packages &#8211; <em>\u2018recommenderlab\u2019, \u2018ggplot2\u2019, \u2018data.table\u2019 and \u2018reshape2\u2019.<\/em><\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">library(recommenderlab)<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-R-packages.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65162\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-R-packages.png\" alt=\"Data science project - import libraries\" width=\"786\" height=\"553\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-R-packages.png 786w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-R-packages-150x106.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-R-packages-300x211.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-R-packages-768x540.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-R-packages-520x366.png 520w\" sizes=\"auto, (max-width: 786px) 100vw, 786px\" \/><\/a><\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">library(ggplot2)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#Author DataFlair\r\nlibrary(data.table)\r\nlibrary(reshape2)<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-data-science-packages.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65163\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-data-science-packages.png\" alt=\"recommendation system project in R - importing libraries\" width=\"599\" height=\"439\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-data-science-packages.png 599w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-data-science-packages-150x110.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-data-science-packages-300x220.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/import-libraries-using-data-science-packages-520x381.png 520w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/a><\/p>\n<p><em><strong>Wait! Don&#8217;t forget to check our leading guide on<\/strong><a href=\"https:\/\/data-flair.training\/blogs\/classification-in-r\/\"><strong> R programming classification<\/strong><\/a><\/em><\/p>\n<h3>Retrieving the Data<\/h3>\n<p>We will now retrieve our data from movies.csv into movie_data dataframe and ratings.csv into rating_data. We will use the str() function to display information about the movie_data dataframe.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">setwd(\"\/home\/dataflair\/data\/movie_data\")\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#Author DataFlair\r\nmovie_data &lt;- read.csv(\"movies.csv\",stringsAsFactors=FALSE)\r\nrating_data &lt;- read.csv(\"ratings.csv\")\r\nstr(movie_data)<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/retrieving-the-data-from-dataframes.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65165\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/retrieving-the-data-from-dataframes.png\" alt=\"ML Project - Retrieving data \" width=\"783\" height=\"269\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/retrieving-the-data-from-dataframes.png 783w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/retrieving-the-data-from-dataframes-150x52.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/retrieving-the-data-from-dataframes-300x103.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/retrieving-the-data-from-dataframes-768x264.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/retrieving-the-data-from-dataframes-520x179.png 520w\" sizes=\"auto, (max-width: 783px) 100vw, 783px\" \/><\/a><\/p>\n<p>We can overview the summary of the movies using the summary() function. We will also use the head() function to print the first six lines of movie_data<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">summary(movie_data)\u00a0\u00a0\u00a0\u00a0#Author DataFlair<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/using-summary-function.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65166\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/using-summary-function.png\" alt=\"Project in R - summary function\" width=\"636\" height=\"254\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/using-summary-function.png 636w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/using-summary-function-150x60.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/using-summary-function-300x120.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/using-summary-function-520x208.png 520w\" sizes=\"auto, (max-width: 636px) 100vw, 636px\" \/><\/a><\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">head(movie_data)<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/head-function-in-R-.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65167\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/head-function-in-R-.png\" alt=\"head function in data science project \" width=\"555\" height=\"412\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/head-function-in-R-.png 555w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/head-function-in-R--150x111.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/head-function-in-R--300x223.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/head-function-in-R--520x386.png 520w\" sizes=\"auto, (max-width: 555px) 100vw, 555px\" \/><\/a><\/p>\n<p>Similarly, we can output the summary as well as the first six lines of the &#8216;rating_data&#8217; dataframe &#8211;<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">summary(rating_data)\u00a0\u00a0\u00a0#Author DataFlair<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-head.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65168\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-head.png\" alt=\"Output the summary in IMDB project in ML\" width=\"737\" height=\"257\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-head.png 737w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-head-150x52.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-head-300x105.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-head-520x181.png 520w\" sizes=\"auto, (max-width: 737px) 100vw, 737px\" \/><\/a><\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">head(rating_data)<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-summary.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65170\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-summary.png\" alt=\"rating summary\" width=\"579\" height=\"249\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-summary.png 579w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-summary-150x65.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-summary-300x129.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-summary-520x224.png 520w\" sizes=\"auto, (max-width: 579px) 100vw, 579px\" \/><\/a><\/p>\n<p><em><strong>Revise your R concepts with DataFlair for Free, checkout <a href=\"https:\/\/data-flair.training\/blogs\/r-tutorials-home\/\">120+ FREE R Tutorials<\/a>\u00a0<\/strong><\/em><\/p>\n<h3>Data Pre-processing<\/h3>\n<p>From the above table, we observe that the userId column, as well as the movieId column, consist of integers. Furthermore, we need to convert the genres present in the movie_data dataframe into a more usable format by the users. In order to do so, we will first create a one-hot encoding to create a matrix that comprises of corresponding genres for each of the films.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">movie_genre &lt;- as.data.frame(movie_data$genres, stringsAsFactors=FALSE)\r\nlibrary(data.table)\r\nmovie_genre2 &lt;- as.data.frame(tstrsplit(movie_genre[,1], '[|]', \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0type.convert=TRUE), \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0stringsAsFactors=FALSE) #DataFlair\r\ncolnames(movie_genre2) &lt;- c(1:10)\r\n\r\nlist_genre &lt;- c(\"Action\", \"Adventure\", \"Animation\", \"Children\", \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Comedy\", \"Crime\",\"Documentary\", \"Drama\", \"Fantasy\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Film-Noir\", \"Horror\", \"Musical\", \"Mystery\",\"Romance\",\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\"Sci-Fi\", \"Thriller\", \"War\", \"Western\")\r\ngenre_mat1 &lt;- matrix(0,10330,18)\r\ngenre_mat1[1,] &lt;- list_genre\r\ncolnames(genre_mat1) &lt;- list_genre\r\n\r\nfor (index in 1:nrow(movie_genre2)) {\r\n\u00a0\u00a0for (col in 1:ncol(movie_genre2)) {\r\n\u00a0\u00a0\u00a0\u00a0gen_col = which(genre_mat1[1,] == movie_genre2[index,col]) #Author DataFlair\r\n\u00a0\u00a0\u00a0\u00a0genre_mat1[index+1,gen_col] &lt;- 1\r\n}\r\n}\r\ngenre_mat2 &lt;- as.data.frame(genre_mat1[-1,], stringsAsFactors=FALSE) #remove first row, which was the genre list\r\nfor (col in 1:ncol(genre_mat2)) {\r\n\u00a0\u00a0genre_mat2[,col] &lt;- as.integer(genre_mat2[,col]) #convert from characters to integers\r\n} \r\nstr(genre_mat2)<\/pre>\n<p><strong>Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/creating-a-matrix-in-R.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65171\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/creating-a-matrix-in-R.png\" alt=\"creating a matrix in R recommendation project\" width=\"1116\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/creating-a-matrix-in-R.png 1116w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/creating-a-matrix-in-R-150x84.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/creating-a-matrix-in-R-300x169.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/creating-a-matrix-in-R-768x432.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/creating-a-matrix-in-R-1024x576.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/creating-a-matrix-in-R-520x293.png 520w\" sizes=\"auto, (max-width: 1116px) 100vw, 1116px\" \/><\/a><\/p>\n<p><strong>Output &#8211;<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Create-matrix-output-in-R-recommendation-project.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65173\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Create-matrix-output-in-R-recommendation-project.png\" alt=\"R recommendation project - Create matrix\" width=\"529\" height=\"439\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Create-matrix-output-in-R-recommendation-project.png 529w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Create-matrix-output-in-R-recommendation-project-150x124.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Create-matrix-output-in-R-recommendation-project-300x249.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Create-matrix-output-in-R-recommendation-project-520x432.png 520w\" sizes=\"auto, (max-width: 529px) 100vw, 529px\" \/><\/a><\/p>\n<p>In the next step of Data Pre-processing of R project, we will create a &#8216;search matrix&#8217; that will allow us to perform an easy search of the films by specifying the genre present in our list.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">SearchMatrix &lt;- cbind(movie_data[,1:2], genre_mat2[])\r\nhead(SearchMatrix)\u00a0\u00a0\u00a0\u00a0#DataFlair<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/create-search-matrix-in-r-recommendation-project.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65174\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/create-search-matrix-in-r-recommendation-project.png\" alt=\"search matrix in r recommendation project\" width=\"833\" height=\"447\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/create-search-matrix-in-r-recommendation-project.png 833w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/create-search-matrix-in-r-recommendation-project-150x80.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/create-search-matrix-in-r-recommendation-project-300x161.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/create-search-matrix-in-r-recommendation-project-768x412.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/create-search-matrix-in-r-recommendation-project-520x279.png 520w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><\/a><\/p>\n<p>There are movies that have several genres, for example, Toy Story, which is an animated film also falls under the genres of Comedy, Fantasy, and Children. This applies to the majority of the films.<\/p>\n<p>For our movie recommendation system to make sense of our ratings through recommenderlabs, we have to convert our matrix into a sparse matrix one. This new matrix is of the class \u2018realRatingMatrix\u2019. This is performed as follows:<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">ratingMatrix &lt;- dcast(rating_data, userId~movieId, value.var = \"rating\", na.rm=FALSE)\r\nratingMatrix &lt;- as.matrix(ratingMatrix[,-1]) #remove userIds\r\n#Convert rating matrix into a recommenderlab sparse matrix\r\nratingMatrix &lt;- as(ratingMatrix, \"realRatingMatrix\")\r\nratingMatrix<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/matrix-into-sparse-matrix.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65175\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/matrix-into-sparse-matrix.png\" alt=\"matrix into sparse matrix\" width=\"819\" height=\"234\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/matrix-into-sparse-matrix.png 819w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/matrix-into-sparse-matrix-150x43.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/matrix-into-sparse-matrix-300x86.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/matrix-into-sparse-matrix-768x219.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/matrix-into-sparse-matrix-520x149.png 520w\" sizes=\"auto, (max-width: 819px) 100vw, 819px\" \/><\/a><\/p>\n<p><em>Are you facing any trouble in implementing recommendation system project in R? Comment below, DataFlair Team is ready to help you.<\/em><\/p>\n<p>Let us now overview some of the important parameters that provide us various options for building recommendation systems for movies-<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">recommendation_model &lt;- recommenderRegistry$get_entries(dataType = \"realRatingMatrix\")\r\nnames(recommendation_model)<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-movies-recommendation-system.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65176\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-movies-recommendation-system.png\" alt=\"Machine learning recommendation system project\" width=\"897\" height=\"247\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-movies-recommendation-system.png 897w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-movies-recommendation-system-150x41.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-movies-recommendation-system-300x83.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-movies-recommendation-system-768x211.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-movies-recommendation-system-520x143.png 520w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/a><\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">lapply(recommendation_model, \"[[\", \"description\")<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-model.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65177\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-model.png\" alt=\"recommendation model in ML\" width=\"821\" height=\"403\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-model.png 821w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-model-150x74.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-model-300x147.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-model-768x377.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/recommendation-model-520x255.png 520w\" sizes=\"auto, (max-width: 821px) 100vw, 821px\" \/><\/a><\/p>\n<p><em><strong>Want to become the next data scientist? Try out the best way and explore <a href=\"https:\/\/data-flair.training\/blogs\/data-science-tutorials-home\/\">Data Science Tutorials Series<\/a>\u00a0to learn Data Science in an easy way with DataFlair!!<\/strong><\/em><\/p>\n<p>We will implement a single model in our R project &#8211; Item Based Collaborative Filtering.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">recommendation_model$IBCF_realRatingMatrix$parameters<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/implementing-single-model-in-data-science-project.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65178\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/implementing-single-model-in-data-science-project.png\" alt=\"implementing single model in data science project\" width=\"591\" height=\"406\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/implementing-single-model-in-data-science-project.png 591w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/implementing-single-model-in-data-science-project-150x103.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/implementing-single-model-in-data-science-project-300x206.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/implementing-single-model-in-data-science-project-520x357.png 520w\" sizes=\"auto, (max-width: 591px) 100vw, 591px\" \/><\/a><\/p>\n<h3>Exploring Similar Data<\/h3>\n<p>Collaborative Filtering involves suggesting movies to the users that are based on collecting preferences from many other users. For example, if a user A likes to watch action films and so does user B, then the movies that the user B will watch in the future will be recommended to A and vice-versa. Therefore, recommending movies is dependent on creating a relationship of similarity between the two users. With the help of recommenderlab, we can compute similarities using various operators like cosine, pearson as well as jaccard.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">similarity_mat &lt;- similarity(ratingMatrix[1:4, ],\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0method = \"cosine\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0which = \"users\")\r\nas.matrix(similarity_mat)\r\n\r\nimage(as.matrix(similarity_mat), main = \"User's Similarities\")<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/using-collaborative-filtering-in-R.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65180\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/using-collaborative-filtering-in-R.png\" alt=\"collaborative filtering in recommendation system project\" width=\"639\" height=\"340\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/using-collaborative-filtering-in-R.png 639w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/using-collaborative-filtering-in-R-150x80.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/using-collaborative-filtering-in-R-300x160.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/using-collaborative-filtering-in-R-520x277.png 520w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/a><\/p>\n<p>In the above matrix, each row and column represents a user. We have taken four users and each cell in this matrix represents the similarity that is shared between the two users.<\/p>\n<p>Now, we delineate the similarity that is shared between the films &#8211;<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">movie_similarity &lt;- similarity(ratingMatrix[, 1:4], method =\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"cosine\", which = \"items\")\r\nas.matrix(movie_similarity)\r\n\r\nimage(as.matrix(movie_similarity), main = \"Movies similarity\")<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/delinate-the-similarity.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65181\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/delinate-the-similarity.png\" alt=\"data science recommendation system project\" width=\"673\" height=\"330\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/delinate-the-similarity.png 673w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/delinate-the-similarity-150x74.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/delinate-the-similarity-300x147.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/delinate-the-similarity-520x255.png 520w\" sizes=\"auto, (max-width: 673px) 100vw, 673px\" \/><\/a><\/p>\n<p>Let us now extract the most unique ratings &#8211;<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">rating_values &lt;- as.vector(ratingMatrix@data)\r\nunique(rating_values) # extracting unique ratings<\/pre>\n<p>Now, we will create a table of ratings that will display the most unique ratings.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Table_of_Ratings &lt;- table(rating_values) # creating a count of movie ratings\r\nTable_of_Ratings<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-displaying-unique-ratings.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65182\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-displaying-unique-ratings.png\" alt=\"building recommendation engine - displaying unique rating\" width=\"830\" height=\"391\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-displaying-unique-ratings.png 830w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-displaying-unique-ratings-150x71.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-displaying-unique-ratings-300x141.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-displaying-unique-ratings-768x362.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-displaying-unique-ratings-520x245.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/rating-displaying-unique-ratings-720x340.png 720w\" sizes=\"auto, (max-width: 830px) 100vw, 830px\" \/><\/a><\/p>\n<p><em><strong>This is the right time to check your R and Data Science Learning. Try these <a href=\"https:\/\/data-flair.training\/blogs\/data-science-tutorials-home\/#interview-questions\">latest interview questions<\/a> and become a pro.\u00a0<\/strong><\/em><\/p>\n<h2>Most Viewed Movies Visualization<\/h2>\n<p>In this section of the machine learning project, we will explore the most viewed movies in our dataset. We will first count the number of views in a film and then organize them in a table that would group them in descending order.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">library(ggplot2)\r\nmovie_views &lt;- colCounts(ratingMatrix) # count views for each movie\r\ntable_views &lt;- data.frame(movie = names(movie_views),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0views = movie_views) # create dataframe of views\r\ntable_views &lt;- table_views[order(table_views$views,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0decreasing = TRUE), ] # sort by number of views\r\ntable_views$title &lt;- NA\r\nfor (index in 1:10325){\r\n\u00a0\u00a0table_views[index,3] &lt;- as.character(subset(movie_data,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0movie_data$movieId == table_views[index,1])$title)\r\n}\r\ntable_views[1:6,]<\/pre>\n<p><strong>Input Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/counting-the-number-of-views-in-a-movie.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65183\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/counting-the-number-of-views-in-a-movie.png\" alt=\"R project - most viewed movies visualization\" width=\"817\" height=\"331\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/counting-the-number-of-views-in-a-movie.png 817w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/counting-the-number-of-views-in-a-movie-150x61.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/counting-the-number-of-views-in-a-movie-300x122.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/counting-the-number-of-views-in-a-movie-768x311.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/counting-the-number-of-views-in-a-movie-520x211.png 520w\" sizes=\"auto, (max-width: 817px) 100vw, 817px\" \/><\/a><\/p>\n<p><strong>Output &#8211;\u00a0<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-movies-visualization.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65184\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-movies-visualization.png\" alt=\"movies visualization in R project\" width=\"699\" height=\"200\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-movies-visualization.png 699w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-movies-visualization-150x43.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-movies-visualization-300x86.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-movies-visualization-520x149.png 520w\" sizes=\"auto, (max-width: 699px) 100vw, 699px\" \/><\/a><\/p>\n<p>Now, we will visualize a bar plot for the total number of views of the top films. We will carry this out using ggplot2.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">ggplot(table_views[1:6, ], aes(x = title, y = views)) +\r\n\u00a0\u00a0geom_bar(stat=\"identity\", fill = 'steelblue') +\r\n\u00a0\u00a0geom_text(aes(label=views), vjust=-0.3, size=3.5) +\r\n\u00a0\u00a0theme(axis.text.x = element_text(angle = 45, hjust = 1)) +\r\n\r\n\u00a0\u00a0ggtitle(\"Total Views of the Top Films\")<\/pre>\n<p><strong>Input Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-visualization-views-on-the-top-films.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65185\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-visualization-views-on-the-top-films.png\" alt=\"R visualization - views on the top films\" width=\"653\" height=\"174\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-visualization-views-on-the-top-films.png 653w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-visualization-views-on-the-top-films-150x40.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-visualization-views-on-the-top-films-300x80.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-visualization-views-on-the-top-films-520x139.png 520w\" sizes=\"auto, (max-width: 653px) 100vw, 653px\" \/><\/a><\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-films-bar-plot-in-ML.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65186\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-films-bar-plot-in-ML.png\" alt=\"most viewed films bar plot in ML\" width=\"1344\" height=\"960\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-films-bar-plot-in-ML.png 1344w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-films-bar-plot-in-ML-150x107.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-films-bar-plot-in-ML-300x214.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-films-bar-plot-in-ML-768x549.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-films-bar-plot-in-ML-1024x731.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/most-viewed-films-bar-plot-in-ML-520x371.png 520w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/a><\/p>\n<p>From the above bar-plot, we observe that Pulp Fiction is the most-watched film followed by Forrest Gump.<\/p>\n<p><em><strong>If you are enjoying this Data Science Recommendation System Project, DataFlair brings another project for you &#8211; <a href=\"https:\/\/data-flair.training\/blogs\/data-science-machine-learning-project-credit-card-fraud-detection\/\">Credit Card Fraud Detection using R<\/a>. Save the link, you can thank me later<\/strong><\/em><strong>\ud83d\ude09\u00a0<\/strong><\/p>\n<h2>Heatmap of Movie Ratings<\/h2>\n<p>Now, in this data science project of Recommendation system, we will visualize a heatmap of the movie ratings. This heatmap will contain first 25 rows and 25 columns as follows &#8211;<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">image(ratingMatrix[1:20, 1:25], axes = FALSE, main = \"Heatmap of the first 25 rows and 25 columns\")<\/pre>\n<p><strong>Input Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-heatmaps-of-movie-ratings.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65188\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-heatmaps-of-movie-ratings.png\" alt=\"visualizing heatmaps of movie ratings\" width=\"812\" height=\"73\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-heatmaps-of-movie-ratings.png 812w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-heatmaps-of-movie-ratings-150x13.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-heatmaps-of-movie-ratings-300x27.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-heatmaps-of-movie-ratings-768x69.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-heatmaps-of-movie-ratings-520x47.png 520w\" sizes=\"auto, (max-width: 812px) 100vw, 812px\" \/><\/a><\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Output-of-R-heatmap-of-movie-ratings-visualization.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65189\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Output-of-R-heatmap-of-movie-ratings-visualization.png\" alt=\"R heatmap visualization in recommendation system\" width=\"1344\" height=\"960\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Output-of-R-heatmap-of-movie-ratings-visualization.png 1344w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Output-of-R-heatmap-of-movie-ratings-visualization-150x107.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Output-of-R-heatmap-of-movie-ratings-visualization-300x214.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Output-of-R-heatmap-of-movie-ratings-visualization-768x549.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Output-of-R-heatmap-of-movie-ratings-visualization-1024x731.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Output-of-R-heatmap-of-movie-ratings-visualization-520x371.png 520w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/a><\/p>\n<h2>Performing Data Preparation<\/h2>\n<p>We will conduct data preparation in the following three steps &#8211;<\/p>\n<ul>\n<li>Selecting useful data.<\/li>\n<li>Normalizing data.<\/li>\n<li>Binarizing the data.<\/li>\n<\/ul>\n<p>For finding useful data in our dataset, we have set the threshold for the minimum number of users who have rated a film as 50. This is also same for minimum number of views that are per film. This way, we have filtered a list of watched films from least-watched ones.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">movie_ratings &lt;- ratingMatrix[rowCounts(ratingMatrix) &gt; 50,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0colCounts(ratingMatrix) &gt; 50]\r\nMovie_ratings<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/conducting-data-preparation-in-data-science-project.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65191\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/conducting-data-preparation-in-data-science-project.png\" alt=\"ML project - data preparation\" width=\"750\" height=\"166\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/conducting-data-preparation-in-data-science-project.png 750w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/conducting-data-preparation-in-data-science-project-150x33.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/conducting-data-preparation-in-data-science-project-300x66.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/conducting-data-preparation-in-data-science-project-520x115.png 520w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>From the above output of \u2018movie_ratings\u2019, we observe that there are 420 users and 447 films as opposed to the previous 668 users and 10325 films. We can now delineate our matrix of relevant users as follows &#8211;<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">minimum_movies&lt;- quantile(rowCounts(movie_ratings), 0.98)\r\nminimum_users &lt;- quantile(colCounts(movie_ratings), 0.98)\r\nimage(movie_ratings[rowCounts(movie_ratings) &gt; minimum_movies,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0colCounts(movie_ratings) &gt; minimum_users],\r\nmain = \"Heatmap of the top users and movies\")<\/pre>\n<p><strong>Input Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/delinate-matrix-of-users.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65193\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/delinate-matrix-of-users.png\" alt=\"recommendation system project in R \" width=\"671\" height=\"159\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/delinate-matrix-of-users.png 671w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/delinate-matrix-of-users-150x36.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/delinate-matrix-of-users-300x71.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/delinate-matrix-of-users-520x123.png 520w\" sizes=\"auto, (max-width: 671px) 100vw, 671px\" \/><\/a><\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-heatmap-for-top-users-and-films.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65194\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-heatmap-for-top-users-and-films.png\" alt=\"R heatmap for top users and films\" width=\"1344\" height=\"960\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-heatmap-for-top-users-and-films.png 1344w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-heatmap-for-top-users-and-films-150x107.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-heatmap-for-top-users-and-films-300x214.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-heatmap-for-top-users-and-films-768x549.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-heatmap-for-top-users-and-films-1024x731.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-heatmap-for-top-users-and-films-520x371.png 520w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/a><\/p>\n<p><em><strong><a href=\"https:\/\/data-flair.training\/blogs\/data-visualization-in-r\/\">Data Visualization in R<\/a> &#8211; Learn the concepts in an easy way\u00a0<\/strong><\/em><\/p>\n<p>Now, we will visualize the distribution of the average ratings per user.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">average_ratings &lt;- rowMeans(movie_ratings)\r\nqplot(average_ratings, fill=I(\"steelblue\"), col=I(\"red\")) +\r\n\u00a0\u00a0ggtitle(\"Distribution of the average rating per user\")<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribution-of-average-rating-per-userinput.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65196\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribution-of-average-rating-per-userinput.png\" alt=\"distribution of average rating per user input\" width=\"720\" height=\"168\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribution-of-average-rating-per-userinput.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribution-of-average-rating-per-userinput-150x35.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribution-of-average-rating-per-userinput-300x70.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribution-of-average-rating-per-userinput-520x121.png 520w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Distribution-of-Average-Ratings-per-User.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65195\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Distribution-of-Average-Ratings-per-User.png\" alt=\"Distribution of Average Ratings per User\" width=\"1344\" height=\"960\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Distribution-of-Average-Ratings-per-User.png 1344w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Distribution-of-Average-Ratings-per-User-150x107.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Distribution-of-Average-Ratings-per-User-300x214.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Distribution-of-Average-Ratings-per-User-768x549.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Distribution-of-Average-Ratings-per-User-1024x731.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Distribution-of-Average-Ratings-per-User-520x371.png 520w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/a><\/p>\n<h3>Data Normalization<\/h3>\n<p>In the case of some users, there can be high ratings or low ratings provided to all of the watched films. This will act as a bias while implementing our model. In order to remove this, we normalize our data. Normalization is a data preparation procedure to standardize the numerical values in a column to a common scale value. This is done in such a way that there is no distortion in the range of values. Normalization transforms the average value of our ratings column to 0. We then plot a heatmap that delineates our normalized ratings.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">normalized_ratings &lt;- normalize(movie_ratings)\r\nsum(rowMeans(normalized_ratings) &gt; 0.00001)\r\n\r\nimage(normalized_ratings[rowCounts(normalized_ratings) &gt; minimum_movies,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0colCounts(normalized_ratings) &gt; minimum_users],\r\nmain = \"Normalized Ratings of the Top Users\")<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-data-normalization.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65198\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-data-normalization.png\" alt=\"R data normalization\" width=\"746\" height=\"240\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-data-normalization.png 746w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-data-normalization-150x48.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-data-normalization-300x97.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-data-normalization-520x167.png 520w\" sizes=\"auto, (max-width: 746px) 100vw, 746px\" \/><\/a><\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/normaliztion-in-R-rating-of-top-users.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65197\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/normaliztion-in-R-rating-of-top-users.png\" alt=\"Normalization in machine learning - top users ratings\" width=\"1344\" height=\"960\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/normaliztion-in-R-rating-of-top-users.png 1344w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/normaliztion-in-R-rating-of-top-users-150x107.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/normaliztion-in-R-rating-of-top-users-300x214.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/normaliztion-in-R-rating-of-top-users-768x549.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/normaliztion-in-R-rating-of-top-users-1024x731.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/normaliztion-in-R-rating-of-top-users-520x371.png 520w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/a><\/p>\n<h3>Performing Data Binarization<\/h3>\n<p>In the final step of our data preparation in this data science project, we will binarize our data. Binarizing the data means that we have two discrete values 1 and 0, which will allow our recommendation systems to work more efficiently. We will define a matrix that will consist of 1 if the rating is above 3 and otherwise it will be 0.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">binary_minimum_movies &lt;- quantile(rowCounts(movie_ratings), 0.95)\r\nbinary_minimum_users &lt;- quantile(colCounts(movie_ratings), 0.95)\r\n#movies_watched &lt;- binarize(movie_ratings, minRating = 1)\r\n\r\ngood_rated_films &lt;- binarize(movie_ratings, minRating = 3)\r\nimage(good_rated_films[rowCounts(movie_ratings) &gt; binary_minimum_movies,\r\ncolCounts(movie_ratings) &gt; binary_minimum_users],\r\nmain = \"Heatmap of the top users and movies\")<\/pre>\n<p><strong>Input Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/defining-a-matrix-binarization-in-R.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65199\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/defining-a-matrix-binarization-in-R.png\" alt=\"binarization in R - defining matrix\" width=\"731\" height=\"228\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/defining-a-matrix-binarization-in-R.png 731w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/defining-a-matrix-binarization-in-R-150x47.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/defining-a-matrix-binarization-in-R-300x94.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/defining-a-matrix-binarization-in-R-520x162.png 520w\" sizes=\"auto, (max-width: 731px) 100vw, 731px\" \/><\/a><\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-binarization-heatmap-in-R.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65201\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-binarization-heatmap-in-R.png\" alt=\"data science binarization heatmap in R\" width=\"1344\" height=\"960\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-binarization-heatmap-in-R.png 1344w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-binarization-heatmap-in-R-150x107.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-binarization-heatmap-in-R-300x214.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-binarization-heatmap-in-R-768x549.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-binarization-heatmap-in-R-1024x731.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-binarization-heatmap-in-R-520x371.png 520w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/a><\/p>\n<p><em><strong>Didn&#8217;t you check what&#8217;s trending on DataFlair? Check out the latest <a href=\"https:\/\/data-flair.training\/blogs\/machine-learning-tutorials-home\/\">Machine Learning Tutorial Series<\/a>. Master all the ML concepts for FREE NOW!!<\/strong><\/em><\/p>\n<h2>Collaborative Filtering System<\/h2>\n<p>In this section of data science project, we will develop our very own Item Based Collaborative Filtering System. This type of collaborative filtering finds similarity in the items based on the people\u2019s ratings of them. The algorithm first builds a similar-items table of the customers who have purchased them into a combination of similar items. This is then fed into the recommendation system.<\/p>\n<p>The similarity between single products and related products can be determined with the following algorithm &#8211;<\/p>\n<ul>\n<li>For each Item i1 present in the product catalog, purchased by customer C.<\/li>\n<li>And, for each item i2 also purchased by the customer C.<\/li>\n<li>Create record that the customer purchased items i1 and i2.<\/li>\n<li>Calculate the similarity between i1 and i2.<\/li>\n<\/ul>\n<p>We will build this filtering system by splitting the dataset into 80% training set and 20% test set.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">sampled_data&lt;- sample(x = c(TRUE, FALSE),\r\n                      size = nrow(movie_ratings),\r\n                      replace = TRUE,\r\n                      prob = c(0.8, 0.2))\r\ntraining_data &lt;- movie_ratings[sampled_data, ]\r\ntesting_data &lt;- movie_ratings[!sampled_data, ]<\/pre>\n<p><strong>Input Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/collaborative-filtering-in-R.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65202\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/collaborative-filtering-in-R.png\" alt=\"collaborative filtering in R\" width=\"592\" height=\"162\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/collaborative-filtering-in-R.png 592w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/collaborative-filtering-in-R-150x41.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/collaborative-filtering-in-R-300x82.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/collaborative-filtering-in-R-520x142.png 520w\" sizes=\"auto, (max-width: 592px) 100vw, 592px\" \/><\/a><\/p>\n<h2>Building the Recommendation System using R<\/h2>\n<p>We will now explore the various parameters of our Item Based Collaborative Filter. These parameters are default in nature. In the first step, k denotes the number of items for computing their similarities. Here, k is equal to 30. Therefore, the algorithm will now identify the k most similar items and store their number. We use the cosine method which is the default one but you can also use pearson method.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">recommendation_system &lt;- recommenderRegistry$get_entries(dataType =\"realRatingMatrix\")\r\nrecommendation_system$IBCF_realRatingMatrix$parameters<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-engine-in-R.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65203\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-engine-in-R.png\" alt=\"building recommendation engine in R\" width=\"972\" height=\"507\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-engine-in-R.png 972w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-engine-in-R-150x78.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-engine-in-R-300x156.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-engine-in-R-768x401.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-engine-in-R-520x271.png 520w\" sizes=\"auto, (max-width: 972px) 100vw, 972px\" \/><\/a><\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">recommen_model &lt;- Recommender(data = training_data,\r\n                          method = \"IBCF\",\r\n                          parameter = list(k = 30))\r\nrecommen_model\r\nclass(recommen_model)<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-system-in-R-.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65204\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-system-in-R-.png\" alt=\"building recommendation system in R\" width=\"573\" height=\"369\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-system-in-R-.png 573w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-system-in-R--150x97.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-system-in-R--300x193.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommendation-system-in-R--520x335.png 520w\" sizes=\"auto, (max-width: 573px) 100vw, 573px\" \/><\/a><\/p>\n<p>Let us now explore our data science recommendation system model as follows &#8211;<\/p>\n<p>Using the getModel() function, we will retrieve the recommen_model. We will then find the class and dimensions of our similarity matrix that is contained within model_info. Finally, we will generate a heatmap, that will contain the top 20 items and visualize the similarity shared between them.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">model_info &lt;- getModel(recommen_model)\r\nclass(model_info$sim)\r\ndim(model_info$sim)\r\ntop_items &lt;- 20\r\nimage(model_info$sim[1:top_items, 1:top_items],\r\n   main = \"Heatmap of the first rows and columns\")<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/similarity-visualization-in-R.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65205\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/similarity-visualization-in-R.png\" alt=\"recommendation system project in R\" width=\"618\" height=\"432\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/similarity-visualization-in-R.png 618w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/similarity-visualization-in-R-150x105.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/similarity-visualization-in-R-300x210.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/similarity-visualization-in-R-520x363.png 520w\" sizes=\"auto, (max-width: 618px) 100vw, 618px\" \/><\/a><\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/machine-learning-user-similarity-heatmap-in-R.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65207\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/machine-learning-user-similarity-heatmap-in-R.png\" alt=\"machine learning user similarity heatmap in R\" width=\"1344\" height=\"960\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/machine-learning-user-similarity-heatmap-in-R.png 1344w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/machine-learning-user-similarity-heatmap-in-R-150x107.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/machine-learning-user-similarity-heatmap-in-R-300x214.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/machine-learning-user-similarity-heatmap-in-R-768x549.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/machine-learning-user-similarity-heatmap-in-R-1024x731.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/machine-learning-user-similarity-heatmap-in-R-520x371.png 520w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/a><\/p>\n<p>In the next step of ML project, we will carry out the sum of rows and columns with the similarity of the objects above 0. We will visualize the sum of columns through a distribution as follows &#8211;<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">sum_rows &lt;- rowSums(model_info$sim &gt; 0)\r\ntable(sum_rows)\r\n\r\nsum_cols &lt;- colSums(model_info$sim &gt; 0)\r\nqplot(sum_cols, fill=I(\"steelblue\"), col=I(\"red\"))+ ggtitle(\"Distribution of the column count\")<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-the-sum-of-columns.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65208\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-the-sum-of-columns.png\" alt=\"visualizing the sum of columns\" width=\"823\" height=\"366\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-the-sum-of-columns.png 823w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-the-sum-of-columns-150x67.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-the-sum-of-columns-300x133.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-the-sum-of-columns-768x342.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/visualizing-the-sum-of-columns-520x231.png 520w\" sizes=\"auto, (max-width: 823px) 100vw, 823px\" \/><\/a><\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-distribution-visualization-in-R.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65209\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-distribution-visualization-in-R.png\" alt=\"data science distribution visualization in R\" width=\"1344\" height=\"960\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-distribution-visualization-in-R.png 1344w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-distribution-visualization-in-R-150x107.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-distribution-visualization-in-R-300x214.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-distribution-visualization-in-R-768x549.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-distribution-visualization-in-R-1024x731.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-distribution-visualization-in-R-520x371.png 520w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/a><\/p>\n<h2>How to build Recommender System on dataset using R?<\/h2>\n<p>We will create a top_recommendations variable which will be initialized to 10, specifying the number of films to each user. We will then use the predict() function that will identify similar items and will rank them appropriately. Here, each rating is used as a weight. Each weight is multiplied with related similarities. Finally, everything is added in the end.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">top_recommendations &lt;- 10 # the number of items to recommend to each user\r\npredicted_recommendations &lt;- predict(object = recommen_model,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0newdata = testing_data,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0n = top_recommendations)\r\npredicted_recommendations<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommender-system-in-ml.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65211\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommender-system-in-ml.png\" alt=\"recommendation system project in data science\" width=\"816\" height=\"214\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommender-system-in-ml.png 816w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommender-system-in-ml-150x39.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommender-system-in-ml-300x79.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommender-system-in-ml-768x201.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/building-recommender-system-in-ml-520x136.png 520w\" sizes=\"auto, (max-width: 816px) 100vw, 816px\" \/><\/a><\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">user1 &lt;- predicted_recommendations@items[[1]] # recommendation for the first user\r\nmovies_user1 &lt;- predicted_recommendations@itemLabels[user1]\r\nmovies_user2 &lt;- movies_user1\r\nfor (index in 1:10){\r\n\u00a0\u00a0movies_user2[index] &lt;- as.character(subset(movie_data,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0movie_data$movieId == movies_user1[index])$title)\r\n}\r\nmovies_user2<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/predict-function-to-create-recommender-system-.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65212\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/predict-function-to-create-recommender-system-.png\" alt=\"recommendation system in R \" width=\"825\" height=\"275\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/predict-function-to-create-recommender-system-.png 825w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/predict-function-to-create-recommender-system--150x50.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/predict-function-to-create-recommender-system--300x100.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/predict-function-to-create-recommender-system--768x256.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/predict-function-to-create-recommender-system--520x173.png 520w\" sizes=\"auto, (max-width: 825px) 100vw, 825px\" \/><\/a><\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/implementing-recommender-system.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65213\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/implementing-recommender-system.png\" alt=\"Recommendation System project in Machine learning\" width=\"642\" height=\"258\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/implementing-recommender-system.png 642w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/implementing-recommender-system-150x60.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/implementing-recommender-system-300x121.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/implementing-recommender-system-520x209.png 520w\" sizes=\"auto, (max-width: 642px) 100vw, 642px\" \/><\/a><\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">recommendation_matrix &lt;- sapply(predicted_recommendations@items,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0function(x){ as.integer(colnames(movie_ratings)[x]) }) # matrix with the recommendations for each user\r\n#dim(recc_matrix)\r\nrecommendation_matrix[,1:4]<\/pre>\n<p><strong>Output Screenshot:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribute-visualization-in-R.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65214\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribute-visualization-in-R.png\" alt=\"distribute visualization in R \" width=\"828\" height=\"377\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribute-visualization-in-R.png 828w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribute-visualization-in-R-150x68.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribute-visualization-in-R-300x137.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribute-visualization-in-R-768x350.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/distribute-visualization-in-R-520x237.png 520w\" sizes=\"auto, (max-width: 828px) 100vw, 828px\" \/><\/a><\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Data-Science-Distribution-Visualisation-for-IBCF-in-R.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65216\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Data-Science-Distribution-Visualisation-for-IBCF-in-R.png\" alt=\"Data Science Distribution Visualisation for IBCF in R\" width=\"1344\" height=\"960\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Data-Science-Distribution-Visualisation-for-IBCF-in-R.png 1344w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Data-Science-Distribution-Visualisation-for-IBCF-in-R-150x107.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Data-Science-Distribution-Visualisation-for-IBCF-in-R-300x214.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Data-Science-Distribution-Visualisation-for-IBCF-in-R-768x549.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Data-Science-Distribution-Visualisation-for-IBCF-in-R-1024x731.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/Data-Science-Distribution-Visualisation-for-IBCF-in-R-520x371.png 520w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-distribute-visualization.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65215\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-distribute-visualization.png\" alt=\"recommendation system project in data science\" width=\"832\" height=\"162\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-distribute-visualization.png 832w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-distribute-visualization-150x29.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-distribute-visualization-300x58.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-distribute-visualization-768x150.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/R-distribute-visualization-520x101.png 520w\" sizes=\"auto, (max-width: 832px) 100vw, 832px\" \/><\/a><\/p>\n<h2>Summary<\/h2>\n<p>Recommendation Systems are the most popular type of machine learning applications that are used in all sectors. They are an improvement over the traditional classification algorithms as they can take many classes of input and provide similarity ranking based algorithms to provide the user with accurate results. These recommendation systems have evolved over time and have incorporated many advanced machine learning techniques to provide the users with the content that they want.<\/p>\n<p>Hola!! You completed this amazing Data Science Recommendation System Project. What next? Another project? Check <a href=\"https:\/\/data-flair.training\/blogs\/data-science-r-sentiment-analysis-project\/\"><em><strong>Sentiment Analysis project in R\u00a0<\/strong><\/em><\/a><\/p>\n<p>Did you enjoy this R project? Have you built any Recommendation System in the past? Do share your experiences in the comments below.<span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:1239,&quot;href&quot;:&quot;https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1Dn1BZD3YxgBQJSIjbfNnmCFlDW2jdQGD\\\/view&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20250411134037\\\/https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1Dn1BZD3YxgBQJSIjbfNnmCFlDW2jdQGD\\\/view&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-09 04:14:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-12 04:15:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-15 04:42:03&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-18 04:58:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-21 06:39:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-24 06:56:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-27 07:27:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-30 07:29:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-02 07:38:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-05 07:42:56&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-08 07:43:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-11 07:43:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-14 08:01:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-17 08:17:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-20 08:21:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-23 08:55:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-26 10:20:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-29 10:20:56&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-01 10:24:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-04 11:01:08&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-07 12:00:19&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-10 12:23:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-13 12:55:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-16 13:30:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-19 13:48:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-22 15:04:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-25 15:07:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-28 15:13:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 15:19:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-06 15:22:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-09 15:36:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 17:26:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 17:46:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-18 17:58:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-21 20:37:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-25 02:58:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-28 05:18:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-31 06:48:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 07:42:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 09:31:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 10:19:12&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-12 10:37:56&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-15 12:29:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-18 13:15:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-21 13:47:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-24 15:50:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-27 17:36:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-30 18:31:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-04 00:11:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-07 03:43:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-10 05:33:19&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-13 06:39:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-16 07:50:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-19 07:59:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-22 08:55:28&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-25 11:19:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-28 14:29:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-31 15:36:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-03 20:53:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-06 21:20:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-09 21:44:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-13 02:58:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-16 03:16:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-19 04:23:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-22 08:00:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-25 08:33:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-28 09:41:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-01 10:22:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-04 10:50:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-07 11:13:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-10 12:24:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-13 12:25:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-16 12:48:46&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-07-16 12:48:46&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Have you ever been on an online streaming platform like Netflix, Amazon Prime, Voot? I watched a movie and after some time, that platform started recommending me different movies and TV shows. I wondered,&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":65905,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51],"tags":[20584,20699,20697,20541,20698],"class_list":["post-65127","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-r","tag-data-science-project","tag-imdb","tag-machine-learning-project","tag-r-project","tag-recommendation-system-project"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Machine Learning Project - Data Science Movie Recommendation System Project in R - DataFlair<\/title>\n<meta name=\"description\" content=\"Movie Recommendation system project in Data science using R will guide you how to build your own recommendation system in machine learning\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Machine Learning Project - Data Science Movie Recommendation System Project in R - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Movie Recommendation system project in Data science using R will guide you how to build your own recommendation system in machine learning\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-07-27T04:44:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-02T09:58:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"802\" \/>\n\t<meta property=\"og:image:height\" content=\"420\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Machine Learning Project - Data Science Movie Recommendation System Project in R - DataFlair","description":"Movie Recommendation system project in Data science using R will guide you how to build your own recommendation system in machine learning","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/","og_locale":"en_US","og_type":"article","og_title":"Machine Learning Project - Data Science Movie Recommendation System Project in R - DataFlair","og_description":"Movie Recommendation system project in Data science using R will guide you how to build your own recommendation system in machine learning","og_url":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2019-07-27T04:44:36+00:00","article_modified_time":"2024-08-02T09:58:44+00:00","og_image":[{"width":802,"height":420,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"Machine Learning Project &#8211; Data Science Movie Recommendation System Project in R","datePublished":"2019-07-27T04:44:36+00:00","dateModified":"2024-08-02T09:58:44+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/"},"wordCount":2247,"commentCount":50,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project.jpg","keywords":["data science project","IMDB","machine learning project","R project","recommendation system project"],"articleSection":["R Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/","url":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/","name":"Machine Learning Project - Data Science Movie Recommendation System Project in R - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project.jpg","datePublished":"2019-07-27T04:44:36+00:00","dateModified":"2024-08-02T09:58:44+00:00","description":"Movie Recommendation system project in Data science using R will guide you how to build your own recommendation system in machine learning","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/07\/data-science-movie-recommendation-project.jpg","width":802,"height":420,"caption":"R project - Movie recommendation system"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/data-science-r-movie-recommendation-system\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"R Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/r\/"},{"@type":"ListItem","position":3,"name":"Machine Learning Project &#8211; Data Science Movie Recommendation System Project in R"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team provides industry-driven content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our expert educators focus on delivering value-packed, easy-to-follow resources for tech enthusiasts and professionals.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam2\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/65127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=65127"}],"version-history":[{"count":15,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/65127\/revisions"}],"predecessor-version":[{"id":143139,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/65127\/revisions\/143139"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/65905"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=65127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=65127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=65127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}