Implementing an item-based recommendation system

Assignment Help Data Structure & Algorithms
Reference no: EM131303722

Data Structures and Algorithms Project

Introduction

For the semester project, you will be implementing an 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. Recommendation systems have important applications in several areas, such as:

  • Product recommendation. Amazon and ebay provide recommendations to you based on your purchase history. Facebook recommends friends. Dating websites recommend dating partners, etc.
  • Movie recommendation: Netflix offers its customers recommendations of movies they might like. These recommendations are based on ratings provided by users. In fact, the importance of predicting ratings accurately is so high, that Netflix offered a prize of $1M to the first algorithm that could beat its own recommendation system by 10%.
  • News Articles: News services recommends news articles to the readers based on the articles that they have read in the past.

What is the input to recommender system?

What should be the output of recommender system?

Predicting movie ratings using an item-based recommender system?

Team Work:

You may form a team of two and do the do the final project together. If you like to team up with another classmate, please read the following instructions carefully:

1. You may use our class slack channel to find another classmate and form a team.

2. Once you choose your team email me the name and github id of the team members.

3. Every team must collaborate and submit their work on github. Submitting on github is mandatory for each team. This is a good practice to experience industry standard collaborative software development.

4. I will create github repository and a private slack channel for each team. I will integrate your github repository with your slack channel so you use the channel for private team communication and get notifications of changes on your repository (commit, push, etc.)

5. Each team is responsible for distributing the work evenly. There is no guarantee that both team members will receive the same grade. If one team member does all the work and commits everything to the repository, then he/she will not get the same grade as the other member who did not commit anything. With every commit, you should include a description of the changes you made in your code.

What you need to submit:

1- All your java files. Please make sure to include comments in your code to make it understandable

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.

Attachment:- Assignment.rar

Reference no: EM131303722

Questions Cloud

Compare the engineering strain and lagrangian strain : Compare the engineering strain and Lagrangian strain. Show that the two strain measures become identical as "α" approaches zero.
What is the firms after-tax cost of debt : 5 years ago, Barton Industries issued 25-year noncallable, semiannual bonds with a $1,400 face value and a 5% coupon, semiannual payment ($35 payment every 6 months). The bonds currently sell for $845.87. If the firm's marginal tax rate is 40%, what ..
Can you determine the value of the contract to metallwerke : The demand for air tanks is expected to grow at 5% for the second year, 4% for the third and fourth years, and 3% for the remaining life of the contract.
How has your understanding of the community changed : How has your understanding of the community changed as a result of your participation in this project? What did you learn about yourself by participating in this service project?
Implementing an item-based recommendation system : CSC385 Data Structures and Algorithms Project. For the semester project, you will be implementing an item-based recommendation system. Recommendation systems are widely used on the web for recommending products and services to users based on their ..
Explain which parts of photosynthesis would be effected : Explain which parts of photosynthesis would be effected and what those effects would be, how would the plant be effected? Would it be likely to hurt your roses?
Estimate made from the three estimation methodologies : Barton Industries expects next year's annual dividend, D1, to be $1.70 and it expects dividends to grow at a constant rate g = 5%. The firm's current common stock price, P0, is $22.80. If it needs to issue new common stock, the firm will encounter a ..
Compare the engineering strain and lagrangian strain : Compare the engineering strain and Lagrangian strain. Show that the two strain measures become identical as "α" approaches zero.
List the three groups of archaebacteria : List the three groups of archaebacteria. How are they different from bacteria? Which would most likely be found in a hot liquid with a pH of 3? Why?

Reviews

len1303722

12/7/2016 1:40:43 AM

If you work in a team, you must submit your files on github and then make an empty submission on blackboard with your github user_ids in the submission ext. If you decide to work individually and not in a team, you have the option to submit your work on blackboard. Program produces correct output. Efficient data structures ( both in terms of access time and memory usage) are used to store user ratings. Data is loaded correctly from movies.dat and ratings.dat and the number of movies and users are not hard-coded in the code. Similarity table is computed correctly. Only half of the pair-wise item similarities are actually computed (the other half is symmetric). Correct analysis of the running time of the program. Top 5 predicted ratings are retrieved efficiently and without sorting the predicted ratings. A document is included which explains the data structures and the algorithms used in the code.

Write a Review

Data Structure & Algorithms Questions & Answers

  Describe a polynomial-time algorithm

Describe a polynomial-time algorithm that solves the following decision problem:

  Develop a relational schema based on the e-r diagram

Develop a relational schema based on the E-R diagram?. For this second assignment, you are to develop a relational schema based on the conceptual data model (ER diagram). Your relations should be normalized to the third Normal form

  Use master theorem to find out its asymptotic bounds

Given T(n) = 16T(n/4) + n2. Use master theorem to find out its asymptotic bounds. Use substitution method to prove its asymptotic bounds

  Write code to implement the expression

Write code to implement the expression: A= (B+C) * (D+E) on 3-, 2-, 1- and 0- address machines. In accordance with programming language practice, computing the expression should not change the values of its operands. Show all instructions.

  Whether the site provides sufficient navigation information

Create screen captures from the sites and indicate where the site structure and navigation information are available to the user.

  How the steps are performed by this algorithm

Consider the following algorithm (known as Horner's rule) to evaluate f(x) = summation from i=0 to N of aix^i.

  Query this database for several types of information & sort

The steps for the queries are listed in the textbook alphabetically. Use this alphabetic list for naming your queries as you save them. For instance, name the query created in step a as Query A, and so forth.

  Write a program that explores the seating patterns

Write a program that explores the seating patterns related to course performance by using an array of student scores. Draw a seating chart of the classroom.

  Explain the benefits and limitations of developing software

You will be asked to demonstrate how your algorithm works and explain the benefits and limitations of developing software solutions to common problems such as that in the scenario.

  Array implementation of the queue

Assuming both integer and pointer occupies 4 bytes each, Array implementation of the queue requires Blank 1_______ bytes and the linked list implementation of the stack requires Blank 2_____bytes.

  Compute the maximum points scored by player 1 and player 2

Compute the maximum points scored by Player 1 and Player 2. Compute the maximum number of points scored in a continuous sequence by Player 1 and Player 2.

  Implement the dynamic-set operation insert

Can you implement the dynamic-set operation INSERT on a singly linked list in O(1) time? How about DELETE - what is the maximum number of keys that can be stored in a B-tree of height h?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd