We have  collected a list of Golang resources on Machine Learning libraries & categorized it based on various algorithms & approaches!

  1. Generalized Machine Learning Libraries:

    1. GoML - - On-line Machine Learning in Go that includes libraries for Generalized Linear Models (Linear Regression, Logistic Regression etc), Perceptron, Clustering (K Means, K Nearest Neibhours...) & Text Classification (Multinomial & term frequency...)

    2. Machine Learning libraries for Go Lang : Implemented Algorithms include Linear Regression, Logistic Regression, Neural Networks, Collaborative Filtering & Gaussian Multivariate Distribution for anomaly detection systems

    3. MLGo - - Algorithms implemented include Gaussian mixture model, k-means, k-medians, k-medoids, single-linkage hierarchical clustering

    4. GoLearn: - GoLearn is a 'batteries included' machine learning library for Go. Simplicity, paired with customisability, is the goal.

  2. Neural Networks

    1. Neural Networks written in go :

    2. Go Fann - - Go bindings for FANN, library for artificial neural networks

    3. - Multi-Layer Perceptron Neural Network

    4. Genetic Algorithms library written in Go / golang -

    5. Word2Vec, GloVe in Go :

  3. Linear Algebra:

    1. Linear Algebra for Go & Matrix Library:

    2. Mat64: Package mat64 provides basic linear algebra operations for float64 matrices. mat64 provides a set of concrete types that implement different classes of matrices (Dense, Symmetric, etc.) and operations on them. In most cases, an operation which results in a matrix value is a method on the value being produced.

    3. BLAS Implementation for Go: The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations

    4. - liblinear bindings for Go

    5. - Sparse matrix formats for Go

  4. Probability Distribution Functions



  5. Decision Trees:

    1. Hector - Golang machine learning lib. Currently, it can be used to solve binary classification problems.Logistic Regression , Factorized Machine , CART, Random Forest, Random Decision Tree, Gradient Boosting Decision Tree & Neural Network

    2. Decision Trees in Go - - Gradient Boosting, Random Forests, etc. implemented in Go

    3. CloudForest - - Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go (golang). CloudForest allows for a number of related algorithms for classification, regression, feature selection and structure analysis on heterogeneous numerical / categorical data with missing values.

  6. Bayesian Classifiers:

    1. - Perform naive Bayesian classification into an arbitrary number of classes on sets of strings.

    2. - Bayesian text classifier with flexible tokenizers and storage backends for Go.

  7. Recommendation Engines in Go

    1. Collaborative Filtering (CF) Algorithms in Go -

    2. Recommendation engine for Go -

  8. Others

    1. - Pattern Recognition in Go.

    2. SVM Library in Go

    3. - selected machine learning algorithms for NLP and text mining e.g. LSA, LSH, PCA, etc.