Collaborative filtering predicts the rating of a given item (dataset in our
case) by a given user (pipeline in our case) from the “utility
matrix" containing previous ratings [1]}.
Two approaches are commonly used: neighbor-based
methods [2]} and latent factor
models [3]}, [4]}. Neighbor-based collaborative
filtering, also known as k-nearest neighbors, identifies
like-minded users or similar items based on the similarity of entries in
the utility matrix. In contrast, latent factor models, the method that we used, represent items and
users in a latent space obtained from a factorization of the
utility matrix \(r\)  in a user matrix \(p\)  and an item matrix \(q\) . The
factorization is learned by minimizing the least square error between the
available ratings and the ratings predicted by the factorization:
\( \min _{q_{*},p_{*}} \sum _{(u,i) \epsilon \kappa } (r_{ui}-q_{i}^{T}p_{u})^{^2}+\lambda \left( \left\Vert  q_{i}\right\Vert ^2+\left\Vert  p_{u}\right\Vert ^2 \right) \qquad \mathrm {(1)}\) 
