Cow CMPE 150 Fall 2021 - Project 2 - Movie Recommender In this project, you will implement a movie recommendation system. The systea will make recommendations for a user based on ratings of other users. You are given a file named ratings.csv containing movie rating history for a set of users. Each time of this file corresponds to the history of a user and includes user in and information of movies rated by this user separated by comasc.). For each movie, its name and rating are given and this pair is separated by a column (). For instance, the line Toy Story, indicates that this user has it that and watched three movies Toy store.de bots and gave ratings of respectively. To make recommendations, the system will consider the similarity of user movie ratings and suggest movies from history of users with most similar tastes. The taste sislarity of users will be computed as 1 over the sue of absolute difference between ratings of these users. If a movie has been rated by one user but not the other one, then the mean rating of the movie is considered as the rating of the user that has not rated yet. Sample Dataset Consider the sample dataset containing only four users with the following rating histories: FINEP 1 Com Sample Dataset Consider the sample dataset containing only four users with the following rating histories: USEA, Toy Story, p5, Imide Outie tiser, Toy Storyta,wall-215 user, Toy Story: Inside Out: 5,2014 User Zootopiail Mean Rating Mean rating of a movie is calculated as the sum of ratings divided by the number of users that rated the particular movie. Then, the mean ratings of movies in the sample set will be as follows: Movie Mean Rating 4.0 Toy Story 5. Up 4.5 5.a Inside Out all- Zootopia 2.3 User Similarity Q UP User similarity The taste sittarity or were is calestated over the war absolute difference between ratings of these users. The similarities of users in the sample stare ziven below Pair User User User user ULTA-User User user user User User Similarity 13.5 14.5 1/10 14 1/ 3.5 MA Explanation for User The movies rated by either or User Toy Story, up. Tout wall. The rain differences these sovies are Toy Story 52) Up: 5 rating Inside Out. Cal rating) - 9.5 Walt 5 mean rating) G DAH Courses Explanation for User The movies rated by either user or Userb: Toy Story, Up, Inside Out, Wall-t. The rating differences for these movies are Toy Story: 5 - 2 + 3 Upt 5 - 5 (nean rating) - Inside Out: 4 4.5 (nean rating) 0.5 Wall-E1 Snean rating) - 5 The sum of absolute values are 3.5. So, the similarity is 1/3.5. Recommendations The recommender will take a user id and the number of similar users (N) as inputs, and then Find most similar users to given user and suggests movies that such users have rated highly i.e. the rating is greater than or equal to 3) but not yet being rated by the given user. If a movie has been rated by more than one most sistar user, then the rating by each user must be greater than or equal to 3 for this movie to be recommended. For the input in the sample set, the recomender systee will suggest tout and since the most similar users are and Over, and the ratings of these movies are greater than 3. Note that toy story is not suggested since its rating by is 2. Examples u 150 W M. Examples Input Output User10,1 Brokeback Mountain, Fighting with My Family. The Social Network, Wind River User120,1 Message in a Bottle. The Dark Knight The Prestige Indiana Jones and the Kingdom of the Crystal Skull Iron Man Iron Man User200,2), Moonraker, Nausicaa of the Valley of the wind. Terms of Endearment. The Darjeeling Limited, The Untouchables, Troy, witness for the prosecution American Assassin,Blade Runner 2049, Iron Man 2, Just Married. Message in a User120,3 Bottle, Stand by Me, The Dark Knight, The Hunger Games, The Prestige. The lock You are given the main program which takes a userid and the number of similar users and calls a set of functions to make recommendations. You are supposed to complete these functions. You are allowed and encouraged to write and use additional functions. However, YOU ARE NOT ALLOWED TO CHANGE THE MAIN PROGRAM Please note that importing libraries is not allowed. To compute absolute value, you can use the given function abs()