Background Information:

A recommendation system is a type of information filtering system which attempts to predict the preferences of a user, and make suggests based on these preferences. There are a wide variety of applications for recommendation systems. These have become increasingly popular over the last few years and are now utilized in most online platforms that we use. The content of such platforms varies from movies, music, books and video, to friends and stories on social media platforms, to products on e-commerce websites, to people on professional and dating websites, to search results returned on Google. Often, these systems are able to collect information about a user’s choices, and can use this information to improve their suggestions in the future. For example, Facebook can monitor your interaction with various stories on your feed in order to learn what types of stories appeal to you. Sometimes, the recommender systems can make improvements based on the activities of a large number of people. For example, if Amazon observes that a large number of customers who buy the latest Apple MacBook also buy a USB-C-to USB Adapter, they can recommend the Adapter to a new user who has just added a MacBook to his cart. Due to the advances in recommender systems, users constantly expect good recommendations. They have a low threshold for services that are not able to make appropriate suggestions. If a music streaming app is not able to predict and play music that the user likes, then the user will simply stop using it. This has led to a high emphasis by tech companies on improving their recommendation systems. However, the problem is more complex than it seems. Every user has different preferences and likes. In addition, even the taste of a single user can vary depending on a large number of factors, such as mood, season, or type of activity the user is doing. For example, the type of music one would like to hear while exercising differs greatly from the type of music he’d listen to when cooking dinner. The main approaches are widely used for recommender systems is content-based filtering, where we try to profile the user’s interests using information collected, and recommend items based on that profile. The other is collaborative filtering, where we try to group similar users together and use information about the group to make recommendations to the user [1].

We have used K-means. Recommendation clustering in our system for the actual recommendation K-means is one of the simplest unsupervised learning algorithms that solve the well- known clustering problem. The procedure follows a simple and easy way to classify a given data set through a certain number of clusters.

Our project entitled “Movie Recommendation System” aims to suggest or recommend the various users, the movie they might like, by intake of their ratings, comments and history. The system proposed is a kind of collaborative-based filtering system which finally recommends the likable movie to the users using K-means clustering. This will extract vital information and recommend the users according to user’s preferences, interest, or history about movies. Our system is to use dataset which are to be thoroughly filtered in order to gain user’s idea for movies. This system is to be implemented with web services (on server side) and desktop application (on client side). This filtering method matches content resources to user characteristics, base their predictions on user’s information. It relies heavily on the ratings of different users.


  • Work on several numbers of data:

The number of choices for anything on internet is very high and it’s tedious to refine most wanted data by self while searching. The scope of this proposal system includes working within numerous data, with ease.

  • Saving of time:

Many people have problem selecting the alternative item of movie due to lack of time and due to search issues. Also movie recommendations from friends can be time consuming. The system helps in saving lots of time.

  • Relief from processor problem:

Many mobile phone and limited processing power computers can’t handle recommender system due to its extremely large dataset. The solution opted for this can be use of web services. The proposed system uses web services, thus makes process simpler.


The target of our proposed system is to recommend appropriate movies to the users according to the ratings of the other users provided they are in same cluster. This needs consistent updates in the cluster and database. The target requires k-means clustering task.

K-means is one of the simplest unsupervised learning algorithms that solve the well-a set through a certain number of clusters. The goal of this algorithm is to find groups work of data, with the number of groups represented by the variable K. The algorithm works iteratively to assign each data point to one of groups based on the features that are provided.

Thus the goal of our system is to implement K-means clustering algorithm for sensible movie recommendations to newly and previously registered users, intake of the reviews (ratings and comments) from each user and updating the database or the cluster each time a review is taken.

Literature Review

Various movie recommendation techniques have been developed by researchers to recommend movie for the user according to their interest or preferences. Since recommendation systems are such a hot topic in recent data science research, many scientific articles have been published in the field of recommendation systems. Finally, genuine article related to our project was presented by many researchers.

Existing Methods for movie recommendation

  1. First paper on recommender system was published in year 1998. Since then a significant number of papers had been published. Different factors have been explained to increase the reliability of recommender system. In the year 2005, John O’ Donovar n, Barry Smyth, have taken trust as the percentage of correct predictions that a profile has made in general (profile-level trust) or with respect to a particular item (item-level trust) [1]. Our project’s main focus is on recommending movies to users based on their preferences. The system should be able to look at the data on videos in the database and provide these videos to people who might like them. Recommendation Systems are used to provide automatic recommendations to users of a service by using user’s behaviors from the past. There are a lot of algorithms available for recommender systems. Thus, choosing one among all of these is a difficult task. This decreases the prediction error by 22%.
  2. Lops et al. (2011) [2], presented item based collaborative filtering recommendation algorithm which resolves the problem arrived in rating. Rating of user to user based collaborative filtering by using the rating distribution per item, not for user. This leads to more stable rating distribution in the model, so the model doesn’t have to rebuild as often. By using this algorithm accuracy of 75% was achieved by the system.
  3. Recommendation systems have categorized into Collaborative filtering and content based filtering. This technique has been known to expose two major issues: Sparsity problem and scalability problem. So, Burkey (2007) [3] suggested hybrid system that might resolve this problem and achieve the accuracy of 70%.
  4. Hongli Lin et al.(2008) [4] proposed a method called content-boosted collaborative filtering (CBCF).The algorithm is divided into two stages, First being the content-based filtering that improves the existing trainee case ratings data and the second being collaborative filtering that provides the final predictions. The CBCF algorithm involves the advantages of both CBF and CF, while at the same time, overcoming both their disadvantages. There are various types of recommender systems with different approaches and some of them are classified as below: Content-based Filtering Systems (CBF based systems), since this system has accuracy of 75%.
  5. Eugene Seo and Ho-Jin Choi (2009) [5], presented the k-means Clustering method is superior to other algorithm and more accurate to predict the rating and review. It gives great sense of accuracy of about 75%.
  6. Costin-Gabriel Chiru et al. [6], proposed Movie Recommender, a system which uses the information known about the user to provide movie recommendations. This system attempts to solve the problem of unique recommendations which results from ignoring the data specific to the user. The psychological profile of the user, their watching history and the data involving movie scores from other websites is collected. They are based on aggregate similarity calculation. This system has implemented hybrid algorithm and achieved the accuracy of 79%.

In this paper, we classify comprehensive review of literatures on recommendation systems that were published in academic journals from 2001-2010, to obtained insight on recommendation system. This paper is organized as follows:

  • The research methodology used in the study is described.
  • Criteria for classification of articles on recommendation systems are presented.
  • The articles on recommendation systems are analyzed and results of classification are reported.
  • Conclusions are presented and the limitation of this study are discussed.

Hardware Requirements:

Recommendation scheme provides availability to a large extent through cloud storage of your sample information. This highlights the need for a computer network interface. User should have a valid web link machine. To keep the collection synchronized with the cloud, Wi-Fi or 3G.

Software Requirements:

For the frontend web development, we use HTML, CSS, and JavaScript languages.

HTML: Eventually all code in an internet implementation is converted into HTML. It is the language internet browsers comprehend and use to show user data. The knowledge of HTML by a computer developer is similar to the comprehension of a screwdriver by a carpenter. It is so essential and essential that for jobs it is often assumed.

CSS: HTML provides some fundamental style alternatives, but designers need to have CSS knowledge to construct a nice frontend. CSS offers painting, templates, glitter, and buttons, tassel, lamps, and many other items that can be used to enhance internet page presentation. CSS is so widely used that textbooks were created to simplify CSS writing. These scripts are also recognized as CSS precompiled, such as Sass and LESS, but they are merely used to compose CSS CODE more effective and manageable.

JavaScript: It’s not just a frontend language; it’s the most widely used language. JavaScript is software running on a customer machine, i.e. the computer of a user. This implies JavaScript can be used to program customer experiences quickly, intuitively and funnily without requiring a user to refresh their internet site. JavaScript can program all the drag-and-drop, infinite-scroll and photos that come to life on an internet site. JavaScript is so common that full frameworks were constructed to facilitate the construction of application frontends. For JavaScript-heavy frontends, frameworks such as Angular, Mongo DB and Node.js are all commonly used. Mongo DB database is used to arrange information in a way that enables us to search information, type information, and manipulate information in different respects. We need some manner of collecting, storing, retrieving and sorting and manipulate the data.

Functional Requirements

  • The system should to allow users to view the highest rated movies by fellow users.
  • The system should maintain a log of the current movie and recommend the user.
  • The administrator should be responsible for updating movies list, users cluster and recommend movies to the user.
  • Log management: The administrator should be able to manage and view logs.
  • Data base management: The dataset of the movies is required to give the sensible recommendation.
fig : Use case diagram

Proposed System

Algorithm we have used for recommendation system are

  • Content based algorithm

Content based system recommend items similar to that user has liked or purposed in the past. If any items are liked, similar items will be recommended. It is based on properties of each items to measure the similarity. The point of content based is that we have to know the content of both the user and items. Recommendations are based on the content of items rather than other user’s opinion.

  • Collaborative filtering

Collaborative filtering method finds a subset of user who have similar test and preferences to the target user and use this subset for offering recommendations. In this method user with similar interest have common preferences. If a person A likes items 1, 2, 3 and B likes 2, 3, 4 then they have similar interest and A should like item 4 and B should like item 1. It is entirely based on the past behavior and not on the present context. It is not dependent on any additional information. It is used by ‘Amazon’.

  • Item-Item collaboration

It uses user-item ratings matrix and makes item-to-item correlations. It finds items that are highly correlated and recommend items with highest correlation. The advantages of this method no knowledge about item features is needed. It has better stability because correlation between limited number of items instead of very large number of users. It reduces sparsely problem [7].

  • K-means clustering algorithm

K-means is one of the simple unsupervised learning algorithm that solves the well-known clustering problems. The procedure follows a simple and easy way to classify a given data set through a certain number of clusters (assume k clusters) fixed a priority. The main idea is to define k centers, one for each cluster. These centers should be placed in a cunning way because of different location causes different result. So, the better choice is to place them as much as possible far away from each other. The next step is to take each point belonging to a given data set and associate it to the nearest center. When no point is pending, the first step is completed and early group age is done. At this point we need to re-calculate k new centroids as barycenter of clusters resulting from the previous step.


We have provided the following steps for recommending the movies:

  • 1. Get the data of movies containing attributes title, movieid and genre.
  • Get the data from of rating containing attributes userid, movieid and rating stramp.
  • Merge these 2 datasets together
  • Create a rating dataframe with average rating and number of rating.
  • Set the number of rating column with rating

Recommending similar movies.

  • -Create a matrix that has the userid on ane axis and movie title on another axis which consists rating that the user gave to the movies. Note there will be a lot of NaN values, because most people have not seen most of the movies. And mostly rated movie will be there.
  • Now, for eg choose two movies A and B.Grab the user rating for those two movies.
  • We use corrwith() method to get correlation between two panda series i.e. between two movies.
  • Now if we sort the dataframe by correlation, we should get the most similar movies, however note that we get some result that don’t really make sense. This is because there are a lot of movies only watched once by users who also watched movie A (it was the most popular movies).
  • Let’s fix this by filtering out movies that have less than 100 reviews (this value was chosen based off the histogram from earlier).


  • Now sort the values and notice how the titles make a lot more sense and repeat the process.

Result and Analysis

With the completion of registration and login module, we have completed the user side and admin side entry pages of the application which results into the successful logins.

The user are shown different movies with respective movie rating which completes basic viewing module resulting into view part from user side. The review module resulted to show the user name and their corresponding review on a particular movie. The movie list shows all the appropriate details about every movie enclosed in the list.

Hence according to the ratings, the recommendation is provided to the logged in users. The recommendation is fully based on the good rating of other members in the clusters.


  • John O’ Dianes, Movie Recommendation System [Online]
  • Lopes et al., Movie Recommendation System Base on Collaborative Filtering, Luxembourg,2011.
  • Burkey., Movie Recommendation System Based on concept of Hybrid System.Moscow.2007.
  • Hongil Lin et al., Content-Boosted Collaborative Filterring.Beijing.2008.
  • Eugene Seo and Ho-Jin Choi., K-means Clustering Method for Movie Recommendation System.Tokyo.2009.
  • Costin-Gabriel Chiru et al., All algorithms for Recommendation System .New York.2009.
  •, Recommendations Item-to-Item Collaborative Filtering. IEEE Computer society,2003.
  • Ball G. and Hall D.. A Clustering Technique for Summarizing Multi Variant Data. Behavior Science, 12: 153- 155, March 1967.

This page is contributed by DS & his team . If you like AIHUB and would like to contribute, you can also write an article & mail your article to . See your articles appearing on AI HUB platform and help other AI Enthusiasts.

About Diwas

🚀 I'm Diwas Pandey, a Computer Engineer with an unyielding passion for Artificial Intelligence, currently pursuing a Master's in Computer Science at Washington State University, USA. As a dedicated blogger at AIHUBPROJECTS.COM, I share insights into the cutting-edge developments in AI, and as a Freelancer, I leverage my technical expertise to craft innovative solutions. Join me in bridging the gap between technology and healthcare as we shape a brighter future together! 🌍🤖🔬

View all posts by Diwas →


  1. This web site is really a walk-through for all of the data you wished about this and didn’t know who to ask. Glimpse right here, and you’ll positively uncover it.

  2. Good site! I really love how it is simple on my eyes and the data are well written. I am wondering how I might be notified whenever a new post has been made. I’ve subscribed to your feed which must do the trick! Have a great day!

  3. An impressive share! I’ve just forwarded this onto
    a coworker who has been doing a little homework on this.
    And he actually bought me lunch simply because I found it for him…
    lol. So let me reword this…. Thank YOU for the meal!!
    But yeah, thanx for spending the time to discuss this issue here on your blog.

  4. Oh my goodness! Impressive article dude! Many thanks, However I am
    experiencing difficulties with your RSS. I don’t understand the reason why I can’t subscribe to it.
    Is there anybody else having identical RSS issues?
    Anyone who knows the solution can you kindly respond? Thanx!!
    adreamoftrains web hosting service

  5. A person essentially lend a hand to make severely articles I’d state.
    This is the first time I frequented your web page and thus far?
    I surprised with the analysis you made to make this particular post amazing.
    Great task!

  6. Very nice post. I just stumbled upon your weblog and
    wanted to say that I’ve really enjoyed browsing your blog posts.
    After all I’ll be subscribing to your feed
    and I hope you write again soon!

  7. Appreciating the dedication you put into your website and in depth information you present. It’s awesome to come across a blog every once in a while that isn’t the same unwanted rehashed information. Excellent read! I’ve bookmarked your site and I’m adding your RSS feeds to my Google account.|

  8. Undeniably imagine that that you stated. Your favorite justification seemed to be at the internet the easiest thing to remember of. I say to you, I definitely get irked whilst folks consider concerns that they plainly do not know about. You controlled to hit the nail upon the top and also outlined out the whole thing with no need side-effects , people could take a signal. Will likely be back to get more. Thank you|

  9. Hello everyone, it’s my first pay a quick visit at this website, and post is genuinely fruitful for me, keep up posting these types of articles or reviews.|

  10. Howdy would you mind stating which blog platform you’re working with? I’m looking to start my own blog in the near future but I’m having a difficult time deciding between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your design and style seems different then most blogs and I’m looking for something unique. P.S My apologies for being off-topic but I had to ask!|

  11. Please let me know if you’re looking for a article author for your site. You have some really good posts and I think I would be a good asset. If you ever want to take some of the load off, I’d absolutely love to write some content for your blog in exchange for a link back to mine. Please blast me an e-mail if interested. Many thanks!|

  12. This is really interesting, You’re a very skilled blogger. I have joined your rss feed and look forward to seeking more of your great post. Also, I’ve shared your website in my social networks!|

  13. Hola! I’ve been reading your website for some time now and finally got the courage to go ahead and give you a shout out from Porter Texas! Just wanted to say keep up the good work!|

  14. I do not even know how I stopped up here, but I assumed this post was good. I do not understand who you might be but certainly you’re going to a famous blogger in the event you are not already. Cheers!|

Leave a Reply

Your email address will not be published. Required fields are marked *