This is the Python Theano code for the ICLR 2016 paper on Session-based Recommendations with Recurrent Neural Networks. The idea here is to use an RNN (a GRU to be precise) to model the clicks of each user session and to then subsequently use this model for recommendation. We use a ranking loss and some nifty sampling trick on the output layer to make this work efficiently, we get between 15 to 25% improvement over item-to-item recommendations.

CoFiRank is a collection of collaborative filtering algorithms in C++ for Collaborative Ranking based on Maximum Margin Matrix Factorization. It is based on the idea that it is better to model the preference ranking of items by users instead of the precise rating. This is the first algorithm to use learning to rank techniques for collaborative filtering and recommender systems. The main algorithm implemented in CoFiRank was published at NIPS 2007.

kernlab is a kernel-based Machine Learning package for R. It includes a large number of kernel methods for classification, clustering, regression, novelty detection, dimensionality reduction and a Quadratic Problem Solver. Support Vector Machines, Spectral clustering, Kernel P

CA are included in the package together with 9 different families of

kernels like Gaussian and String kernels. I started developing kernlab during my Ph.D. Meantime it has become a fairly popular package and is included as a core package in the R Machine Learning Task View.

Testing and evaluation framework for collaborative filtering algorithms in Python.

Code from our SIGIR 2014 paper on Gaussian Process Factorization Machines. Runs on Octave and Matlab

RWeka R package which provides an interface between R and the Java Weka Machine Learning Software.