Project 2 Book Recommendations CS 1410 Background When buying things.docx

This preview shows page 1 - 4 out of 8 pages.

Project 2: Book Recommendations CS 1410 Background When buying things online you have probably noticed that you are presented with other items that you might also like" or that other customers also bought". In this project you will recommend books to a reader based on what other readers with similar tastes have liked. Netflix awarded one million dollars to the winners of the Netflix Prize. The competition simply asked for an algorithm that would perform 10% better than their own algorithm. Making good predictions about people's preferences was that important to this company. It is also a very current area of research in machine learning, which is part of the area of computer science called artificial intelligence. Objective In this assignment you will compute book recommendations for readers based on other readers with similar tastes in books. The purpose of this assignment is to use common Python data structures (list, dictionary) and file operations in a program that is larger than any you may have encountered up to this point. It is important that you understand the different parts of the program and plan ahead of time how you will implement them. A suggested order for design and development appears below. Data First, there's a list of books in "author,title" format in the file booklist.txt in Files/Projects/Project Douglas Adams, The Hitchhiker's Guide To The Galaxy Richard Adams, Watership Down Mitch Albom, The Five People You Meet in Heaven There is also a file there with user ratings for each book (ratings.txt): Ben 5000000101-35000550000 50000000013010- 5005505550550005555-3 Mese 550000300 10530
5033500000 500000 35000005-300050000005 50300 The ratings match the index of the book in the booklist.txt file. For example, the first rating of 5 from Ben applies to Hitchhiker's Guide to the Galaxy (booklist[@]), and the next O means Ben hasn't read Watership Down (booklist[1]). The meaning of the rating numbers is explained in the table below Rating Meaning I Hated it! Didn't like it I Haven't read It's okay Liked it Really liked it! You will determine recommendations for a reader by looking at other readers that are close to him or her in their tastes. This is done quite cleverly by using the dot product of their respective ratings as a "affinity score". A

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture