Question: Hi, I need some help with the extra credit portion of the this assignment. This assignment will provide you with practice using arrays in java.

Hi, I need some help with the extra credit portion of the this assignment.

This assignment will provide you with practice using arrays in java.

Your job is to build a simple Recommender System, similar to the one that Netflix (an online movie-rental service) uses to recommend movies to customers. The basic idea is to find out some movies that a user likes, and then recommend other movies that the user might also like.

On Oct. 2, 2006, Netflix announced a challenge to programmers everywhere to come up with a better way of figuring out how to predict what movies to recommend to users. They offered a prize of $1 million to anyone who could beat their own technique by 10% in prediction accuracy. A team of programmers eventually claimed the prize in 2009. You can read about the challenge on Wikipedia, or Netflix's own page about it. This assignment is a simplified version of the kinds of recommendation techniques used by Netflix, Amazon, and others.

Create a Java file called Recommender.java. Your program should behave as follows:

Using the helper class and text files described above, load the 20 movie names and the movie ratings from 30 people into two arrays in memory.

Ask the user to enter a rating (between 1 and 5, or -1 if they haven't seen it) for each movie.

Create a method that determines a score for each of the 30 people, which represents how similar that person's tastes are to the current user's tastes. Store these similarity scores in an array of 30 doubles. The similarity scores should be between 0 and 1 each.

Create an array that represents recommended ratings for the user. There should be 20 numbers in this array, one for each movie. The higher the number, the more strongly your program thinks the user will like the movie. The number should be the average over all 30 ratings for the movie that are greater than 0 (only include ratings for users who have actually seen the movie). However, it should be a weighted average: people who are more similar to the current user should have a higher weight than people who are less similar.

Display the name of the top movie (according to the recommended ratings from the previous step) that the user has not yet seen.

EXTRA CREDIT: You can also try instead of recommending a single movie, recommend NUM_RECOMMENDATIONS movies, where NUM_RECOMMENDATIONS is some constant built into your program which is larger than 1.

movies.txt

Airplane Alien Bridesmaids Cloudy with a Chance of Meatballs Exorcist Fantastic Mr. Fox Forrest Gump Hangover Harold and Kumar Go to White Castle The Help Incredibles Jaws Monsters, Inc Psycho Raiders of the Lost Ark Silver Linings Playbook Titanic Twilight Eclipse Up Zoolander 

ratings.txt

-1 2 3 5 -1 5 3 3 1 4 2 2 5 0 1 3 3 5 4 3 0 1 1 4 1 3 3 1 2 3 4 0 4 1 2 4 5 4 2 3 3 0 2 3 0 2 5 -1 3 3 5 2 2 1 2 3 5 3 4 2 -1 1 0 4 1 3 5 2 1 5 3 0 5 2 1 3 4 5 3 2 -1 0 3 2 -1 5 5 2 2 4 4 2 3 2 -1 3 4 4 3 1 2 1 1 5 2 2 4 2 3 4 3 -1 5 2 2 5 3 5 2 1 3 0 3 4 -1 2 5 0 -1 4 3 -1 3 0 2 5 5 5 4 2 4 0 4 2 3 0 1 3 4 -1 1 4 4 4 0 2 0 1 4 4 4 3 3 3 -1 2 2 4 3 0 2 4 3 4 2 0 0 2 2 3 3 -1 3 0 3 4 -1 5 5 -1 0 0 1 0 -1 1 1 2 0 5 3 0 3 4 3 4 0 5 5 2 3 3 4 1 1 -1 0 -1 0 4 4 -1 4 4 1 3 0 5 4 0 1 3 4 1 -1 1 -1 1 0 5 5 0 3 1 4 3 0 5 4 1 3 2 1 -1 4 2 1 0 2 4 3 0 5 1 4 4 2 5 5 1 2 3 1 1 0 1 0 1 -1 5 4 1 5 4 3 0 1 3 4 -1 0 3 3 0 1 1 2 0 3 5 -1 1 1 3 0 3 1 3 -1 0 3 0 5 2 2 1 4 0 5 -1 3 0 2 3 1 5 4 3 3 0 5 0 5 2 -1 4 4 3 3 3 1 1 1 3 2 4 1 -1 0 -1 5 0 3 -1 0 1 0 2 5 2 0 2 3 5 -1 4 3 1 1 3 3 0 4 0 0 4 3 2 5 1 0 1 3 3 0 3 3 1 0 -1 3 0 5 -1 0 3 1 2 4 0 3 -1 2 4 1 4 3 -1 2 3 4 1 3 -1 2 -1 4 3 5 -1 0 1 3 5 -1 4 2 1 0 3 3 2 3 2 -1 3 1 0 3 -1 3 2 2 3 -1 5 -1 -1 2 3 4 0 4 1 -1 0 -1 -1 4 2 -1 3 -1 -1 4 0 2 -1 2 2 2 5 -1 3 4 -1 -1 2 0 2 1 4 3 0 3 2 1 -1 0 -1 1 3 1 3 3 1 0 -1 -1 3 4 3 3 0 4 2 0 4 -1 0 2 4 0 3 4 2 -1 0 -1 4 -1 5 1 0 4 1 -1 3 2 2 -1 4 1 3 3 1 0 0 0 3 0 4 2 1 5 -1 -1 2 1 1 -1 5 -1 5 4 1 2 2 -1 1 2 5 2 0 3 -1 0 1 0 2 -1 4 2 4 3 -1 2 1 -1 0 2 5 1 1 4 -1 2 1 -1 -1 2 4 0 3 4 2 -1 0 0 4 

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!