Home  >   Work  >   Tech Conference

2019 - 2022

Recommendation.jl: Building Recommender Systems in Julia

JuliaCon 2019

Recommendation.jl: Building Recommender Systems in Julia @ JuliaCon 2019


This talk demonstrates Recommendation.jl, a Julia package for building recommender systems. We will eventually see (1) a brief overview of common recommendation techniques, (2) advantages and use cases of their Julia implementation, and (3) design principles behind the easy-to-use, extensible package.


Recommendation.jl allows you to easily implement and experiment your recommender systems, by fully leveraging Julia's efficiency and applicability. This talk demonstrates the package as follows.

The speaker first gives a brief overview of theoretical background in the field of recommender systems, along with corresponding Recommendation.jl functionalities. The package supports a variety of well-know recommendation techniques, including k-nearest-neighbors and matrix factorization. Meanwhile, their dedicated evaluation metrics (e.g., recall, precision) and non-personalized baseline methods are available for your experiments.

Next, this talk discusses pros and cons of using Julia for recommendation. On the one hand, a number of algorithms fits well into Julia's capability of high-performance scientific computing in this field, but at the same time, it is challenging to make Julia-based recommenders production-grade at scale. The discussion ends up with future ideas of how to improve the package.

We will finally see the extensibility of the package with an example of building our own custom recommendation method. In practice, Recommendation.jl is designed to provide separated, flexible data access layer, algorithm layer, and recommender layer to the end users. Consequently, the users can quickly build and test their custom recommendation model with less efforts.

Reference: Recommendation.jl: Building Recommender Systems in Julia, an article written by the speaker.



  Author: Takuya Kitazawa

Takuya Kitazawa is a freelance software developer, minimalistic traveler, ultralight hiker & runner, and craft beer enthusiast. With a decade of experiences as a full-stack software developer, machine learning engineer, data scientist, and product manager, I am currently working at the intersection of technological and societal aspects of data-driven applications. You can find what I am doing lately at my "now" page, and your inquiry is always welcome at [email protected], including comments on my blog posts.

  Schedule a call with me


  • Opinions are my own and do not represent the views of organizations I am/was belonging to.
  • I am doing my best to ensure the accuracy and fair use of the information. However, there might be some errors or biased subjective statements because the main purpose of this blog is to jot down my personal thoughts as soon as possible before conducting an extensive investigation. Visitors understand the limitations and rely on any information at their own risk.
  • That said, if there is any issue with the content, please contact me so I can take the necessary action.
  • I retrieved external links on the page's publication date, so they may or may not be expired or outdated.