Popular libraries make up the backbone of data science: scikit-learn, TensorFlow, Caffe, and Keras are the standard Python choices. But these libraries don't tend to implement niche techniques (scikit-learn's policy actually states that they don't consider algorithms less than three years old or with less than 200 citations!), Enter mlpack: a flexible, fast machine learning library. It's written in C, with bindings to Python and command-line programs that can be used for simpler data science tasks. Because of its use of templates for configurability, it is easy to customize the specific behavior of algorithms without any runtime penalty.
Our previous roundup of machine learning resources touched mlpack, a C -based machine learning library originally rolled out in 2011 and designed for "scalability, speed, and ease-of-use," according to the library's creators. Implementing mlpack can be done through a cache of command-line executables for quick-and-dirty, "black box" operations, or with a C API for more sophisticated work. The 2.0 version has lots of refactorings and new features, including many new kinds of algorithms, and changes to existing ones to speed them up or slim them down. For example, it ditches the Boost library's random number generator for C 11's native random functions. One long-standing disadvantage is a lack of bindings for any language other than C, meaning users of everything from R to Python can't make use of mlpack unless someone rolls their own wrappers for said languages.
It aims to implement a wide array of machine learning methods and functions as a "swiss army knife" for machine learning researchers. This README serves as a guide for what mlpack is, how to install it, how to run it, and where to find more documentation. Citations are beneficial for the growth and improvement of mlpack. All of those should be available in your distribution's package manager. If not, you will have to compile each of them by hand.
This academic background has led to mlpack being used in many scientific publications both inside the machine learning community and in adjacent fields. New developments and features from our sponsored projects, straight to your inbox, once a month. New developments and features from our sponsored projects, straight to your inbox, once a month.
I love working with C, even after I discovered the Python programming language for machine learning. C was the first programming language I ever learned and I'm delighted to use that in the machine learning space! I wrote about building machine learning models in my previous article and the community loved the idea. I received an overwhelming response and one query stood out for me (from multiple folks) – are there any C libraries for machine learning? Languages like Python and R have a plethora of packages and libraries that cater to different machine learning tasks.