GoLearn-Machine Learning for GO

Oct. 10, 2017, 12:21 p.m. By: Kirti Bakshi


GoLearn, also known as a "Batteries included" machine learning library, is one of the most prominent libraries that comes with the goal of pairing Simplicity with Customizability.

Some of GoLearn's interfaces to data are implemented in the same manner as that of Skikit-Learn(a popular Python Machine Learning Project) in which, if you see, apart from the sincere amount of C++ used for the linear model's library, the rest is pure Go.

GoLearn also includes helper functions for data, like cross-validation, and test splitting.

Now, Rather than Calling out Libraries in other languages like C/C++, the Developers can simply work with Machine Learning Libraries that are Directly written in Go. Go is an open source programming language and that makes it easy to build reliable and efficient software. The existing Machine Learning libraries might have a large culture of users but the visible interest in having Go Toolkits clearly takes an advantage of the language's conveniences.

All Machine-Learning Developers, who want to use Google's Go language as their Development Platform, may have a small number of Projects to choose from. But, the number seems to grow Significantly.

Goml billed as, "GoLang Machine Learning, on the wire" according to the Developers, includes a number of models which let you work online by passing data to streams held on channels and lets the developer include machine learning into applications.

This Project right away stands out in some ways that are intriguing, by emphasizing on its possibilities of being a component for other applications that is made even easier by comprehensive tests, extensive Documentation and a clean modular Source code that is expressive as well.

If you need something basic, for simple binary classification problems, Hector, a smaller library, can be of help to you. The newest in the bunch, Gorgonia, is a machine learning library, that is also entirely written in Go and provides all the necessary primitives that dynamically build neural networks and assorted machine learning algorithms. This library lets you describe the neural networks in high-level terms with a set of primitives, an approach, that is also used by TensorFlow library and therefore, provides the user the comfort of not having to write algorithms and also the benefit of reusability of pieces in different projects.

A pure Go solution would, therefore, mean fewer pieces from different languages that would be packaged and deployed together with the main advantage of having these libraries in Go not being deployment, but developer comfort. Many Prospective machine learning developers now, might have many languages to be productive in. But, the existing Go developers who want to become pro's in machine learning have an upper hand in a domain with which they are already comfortable.

More Information: GitHub

Image Source: Stoodnt