The purpose of this Final Year Project is to design and implement a toolkit for evaluating Recommendation System (RecSys) which respects the temporal aspect during the data splitting process and incrementally release data as close to a live production setting as possible. We aim to achieve this through provision of API for the programmer to interact with the objects in the library.
The package can be installed quickly with python poetry
or the traditional pip
method. The recommended way of installation would be through poetry
as it will
help install the dependencies along with the package. We assume that the repository
has already been cloned else you can run the following code on terminal before
continuing.
git clone https://github.com/HiIAmTzeKean/Streamsight.git
cd Streamsight
The following code assumes that you do not have poetry
installed yet. If you
using MacOS, you might want to consider installing poetry
with homebrew instead.
pip install poetry
# MacOS can consider using brew install poetry
poetry install
The following code below assumes that you have pip
installed and is in system
PATH.
pip install -e .
Alternatively streamsight
is available on PyPi and can be installed through
either of the commands below. The link to PyPI can be found
here.
# To install via pip
pip install streamsight
# To install with streamsight as a dependency
poetry add streamsight
The documentation can be found here and repository on Github.
The report for this project Streamsight: a toolkit for offline evaluation of recommender systems can be found in the NTU repository.
Ng, T. K. (2024). Streamsight: a toolkit for offline evaluation of recommender systems. Final Year Project (FYP), Nanyang Technological University, Singapore. https://hdl.handle.net/10356/181114