Recommendation.jl is a minimal, customizable Julia package for building recommender systems. Pre-built basic functionalities include:
- Non-personalized baselines that give unsophisticated, rule-based recommendation.
- Collaborative filtering on either explicit or implicit user-item matrix.
- Model-based factorization approaches such as Singular Value Decomposition (SVD), Matrix Factorization (MF), and Factorization Machines (FMs).
- Content-based filtering by using the TF-IDF weighting technique.
- Evaluation based on a variety of rating and ranking metrics, with easy-to-use N-fold cross validation executor.
julia> using Pkg; Pkg.add("Recommendation")
This package contains a unified DataAccessor
module and several non-personalized/personalized recommenders, as well as evaluation metrics such as Recall
:
See Getting Started in documentation for the details.
Change the code and test locally:
$ julia
julia> using Pkg; Pkg.activate(@__DIR__); Pkg.instantiate()
# hit `]`
(Recommendation) pkg> test
Build documentation contents:
$ julia --project=docs -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
$ julia --project=docs docs/make.jl
$ open docs/build/index.html