Skip to content
Collaborative Filtering (CF) Algorithms in Go!
Branch: master
Clone or download
Latest commit ed64787 Jul 29, 2014
Type Name Latest commit message Commit time
Failed to load latest commit information.
ALS minute details..2 Jul 29, 2014
bayesianFilter more documentation Jul 29, 2014
collabFilter minute details..2 Jul 29, 2014
testdata added read from text file Jul 29, 2014
AUTHORS license, docs, etc. Jul 18, 2014
LICENSE license, docs, etc. Jul 18, 2014 silly commit Jul 29, 2014

Go Recommend

Recommendation algorithms (Collaborative Filtering) in Go!


Collaborative Filtering (CF) is oftentimes used for item recommendations for users, and many libraries exist for other languages (popular implementations include Mahout, Prediction.IO, Apache MLLib ALS etc..). As there are very few machine learning packages out there for Go, I decided to put together some model based CF algorithms that I thought were interesting.

Collaborative Filters inside this package. See each folder for examples/specifications

  • Alternating Least Squares (more info here ) for both the Implicit and Explicit Case
    • Tests now complete
    • Use the implicit case for a confidence rating; explicit for predicting ratings
  • Simple Bayesian Collaborative Filtering Algorithm, see details here
    • Tests complete
  • Similarity/Memory-based (using correlation, cosine and jaccard similarity) based CF, which incorporates a nearest neighbor type metric can be found in the CF folder.
    • Tests complete
    • See README for more details
    • Todo: consider approximate nearest neighbors algorithm.

Most of the recommendation algorithms in this package are briefly outlined in this article


  • If you have any questions/comments, please feel free to reach me at tim [dot] kaye [at] lytics [dot] io
You can’t perform that action at this time.