You will be implementing a basic item-based recommendation system.
Recommendation systems are widely used on the web for recommending products and services to users
based on their past actions and interaction with the system.
The input to your recommender system is a dataset consisting of 100,000 ratings from about 1000 users
on about 1700 movies. I have provided sample .dat files for the movies and the ratings.
First the [login to view URL]: Each line in the [login to view URL] represents a unique movie and has the following
movie id | movie title | release date | video release date |etc.
You only need to parse the first two attributes, movie_id, and movie_name. You can
extract these attributes using the String. You can use the split method in the String class in java
standard library to extract the fields that are separated by “\\|” delimiter.
Second [login to view URL]: All ratings are contained in the file ratings.dat. Each line of [login to view URL] has the
following format ( the fields are separated by tab):
UserID MovieID Rating Timestamp
-UserIDs: the id of the user who gave rating
- MovieIDs: the id of the movie for which the user gave rating
- Ratings: a number in the scale (1-5) given to movie_ID by user_ID.
For example, the following record means user id 1 gave rating 5 to the item id 1193 ( the last entry is the
time stamp which is not used in this project)
1 1193 5 978300760
Your recommender system will predict the ratings that the user will give to the movies he/she has not
rated yet. The output of your recommender system should be a file that contains the top 5 movie
recommendations for every user in a descending order of their predicted ratings (i.e., the first movie
recommendation should have the highest predicted rating). The format of the output file should be as
UserID MovieTitle1::predicted rating | MovieTitle2::predicted
rating | MovieTitle3::predicted rating | MovieTitle4::predicted rating
| MovieTitle5::predicted rating
user ID: 1 top 5 recommendations: Cyclo (1995)::4.382758930148253| Office Killer
(1997)::4.24082725472752| Little City (1998)::4.234925942215377| Death in Brunswick
(1991)::4.224473123463171| Mamma Roma (1962)::4.178130372636395|
This means that the top 5 movie recommendations for user ID 1 are: cyclo (1995) with predicted rating
4.38, office killer (1997) with predicted rating 4.2, etc.
What you need to submit:
1- All your java files. Please make sure to include comments in your code to make it
2- A readme file including a general description of your files.
3- A document explaining the following:
a. data structures that you used to store movie information and ratings and the algorithm
that you used to compute the top 5 recommendation.
b. Analysis of the order of magnitude efficiency (big –Oh) of your algorithm in terms of the
number of users, and movies. Briefly explain how you derived the big-Oh.
Hi I have read all your description. I am professional Java developer and ready to start now. I am sure high quality, good communication. Please contact me and Let's go ahead ! Thanks.
14 freelancers are bidding on average $230 for this job
Yes, i can implementing a basic item-based recommendation system. i have checked all attached file and projects description and got the task so i can do it and ready to start work form now asap.
Hi, I have more than 7+ years of experience developing products, stack I have used is spring boot, JPA, MongoDB, PostgreSQL, aws and microservice architecture, we can discuss this requirement.