Recommender systems are used on many different websites today and are mechanisms that are supposed to accurately give personalized recommendations of items to a set of different users. An item can for example be movies on Netflix. The purpose of this paper is to implement an algorithm that fulfills five stated goals of the implementation. The goals are as followed: the algorithm should be easy to implement, be effective on query time, accurate on recommendations, put little expectations on users and alternations of algorithm should not have to be changed comprehensively. Slope One is a simplified version of linear regression and can be used to recommend items. By using the Netflix Prize data set from 2009 and the Root-Mean-Square-Error (RMSE) as an evaluator, Slope One generates an accuracy of 1.007 units. The Weighted Slope One, which takes the relevancy of items into the calculation, generates an accuracy of 0.990 units. Adding Weighted Slope One to the Slope One implementation can be done without changing the fundamentals of the Slope One algorithm. It is nearly instantaneous to generate a recommendation of a movie with regular Slope One and Weighted Slope One. However, a precomputing stage is needed for the mechanism. In order to receive a recommendation of the implementation in this paper, the user must at least have rated two items. / Rekommendationssystem används idag på många olika hemsidor, och är en mekanism som har syftet att, med noggrannhet, ge en personlig rekommendation av objekt till en mängd olika användare. Ett objekt kan exempelvis vara en film från Netflix. Syftet med denna rapport är att implementera en algoritm som uppfyller fem olika implementationsmål. Målen är enligt följande: algoritmen ska vara enkel att implementera, ha en effektiv tid på dataförfrågan, ge noggranna rekommendationer, sätta låga förväntningar hos användaren samt ska algoritmen inte behöva omfattande förändring vid alternering. Slope One är en förenklad version av linjär regression, och kan även användas till att rekommendera objekt. Genom att använda datamängden från Netflix Prize från 2009 och måttet Root-Mean-Square-Error (RMSE) som en utvärderare, kan Slope One generera en precision på 1.007 enheter. Den viktade Slope One, som tar hänsyn till varje föremåls relevans, genererar en precision på 0.990 enheter. När dessa två algoritmer kombineras, behövs inte större fundamentala ändringar i implementationen av Slope One. En rekommendation av något objekt kan genereras omedelbart med någon av de två algoritmerna, dock krävs det en förberäkningsfas i mekanismen. För att få en rekommendation av implementationen i denna rapport, måste användaren åtminstone ha värderat två objekt.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-166438 |
Date | January 2015 |
Creators | Ye, Brian, Tieu, Benny |
Publisher | KTH, Skolan för datavetenskap och kommunikation (CSC) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0023 seconds