Python implementation of collaborative filtering recommendation algorithms with a focus on evaluating different similarity measures. This work was done as part of a computer science monograph at UFPE by Igor Rafael Guimarães Medeiros under the supervision of Prof. Ricardo Bastos Cavalcante Prudêncio. The paper is called “Estudo sobre Sistemas de Recomendação Colaborativos” and it's a study review of main recommendations systems approaches with a focus on evaluating different similarity measures on collaborative filtering.
The goal of this project is to implement and compare various similarity algorithms for collaborative filtering recommenders. A key contribution is the Python implementation of adjusted cosine similarity (the first one available on GitHub at the time of the study) and its performance compared to traditional similarity algorithms.
Collaborative filtering recommenders are widely used, but the choice of similarity metric can impact performance. This work conducts experiments on real-world datasets to evaluate different similarity approaches.
Movies, books, and music ratings datasets are included to allow reproducibility. Specific datasets used in the original experiments include MovieLens ratings.
Experimental results showed that adjusted cosine similarity outperformed traditional cosine and correlation for calculating user similarities. Adjusted cosine was chosen as the default similarity algorithm for the recommenders due to this improved performance.
The key results and approaches were published by Igor Medeiros in the monograph “Estudos sobre Sistemas de Recomendação Colaborativos”, originally at cin.ufpe.br but also available here.
Igor Rafael Guimarães Medeiros, Bachelor in Computer Science at Federal University of Pernambuco (UFPE).
Contact: irgmedeiros@proton.me
PhD. Ricardo Bastos Cavalcante Prudêncio, Professor of computer science at UFPE.
Contact: rbcp@cin.ufpe.br
This repository is licensed under the MIT License. See the LICENSE file for details.
By including a Citation section with a BibTeX entry, it properly attributes the original work if someone wants to reference it academically. And stating the license upfront following Citation makes it clear how others can use and modify the code legally.