Machine learning (ML) is a type of artificial intelligence (AI) that allows software to essentially reprogram itself as it receives new data. It powers everything from speech recognition to predictive algorithms. A data scientist skilled in ML has one of the most in-demand, high-paying jobs in IT.
As you might expect, building one of these smart programs from scratch usually requires a lot of time and effort. These 12 ML frameworks can do much of the heavy lifting for you.
Spark is best known for its fast in-memory big-data processing, which has also made it a go-to framework for ML. Its highly scalable ML library can be coupled with any Hadoop data source, and its coding interface supports Java, Scala, R and Python. New ML algorithms are constantly being added, and existing ones enhanced.
Microsoft’s ML framework runs in their Azure cloud, offering high-capacity data processing on a pay-as-you-go model. Its interactive, visual workspace can be used to create, test and iterate ML “experiments” using the built-in ML packages; they can then be published and shared as web services. Python or R custom coding is also supported. A free trial is available for new users.
Like Azure, the Amazon Machine Learning framework is cloud-based, supporting Amazon S3, Redshift and RDS. It combines ML algorithms with interactive tools and data visualizations which allow users to easily create, evaluate and deploy ML models. These models can be binary, categoric or numeric – making them useful in areas such as information filtering and predictive analytics.
Microsoft’s DMTK uses local data caching to make it more scalable and efficient on computing clusters that have limited resources on each node. Its two distributed ML algorithms allow for fast training of topic and word-embedding learning models. Thanks to its easy-to-use APIs, a data scientist who uses DMTK can focus on core ML tasks such as modeling and training.
TensorFlow is an open-source ML toolkit that has been applied in areas ranging from machine translation to biomedical science. Data flows are processed by a series of algorithms described by a graph. This allows for a flexible, multi-node architecture that supports multiple CPUs and GPUs. The recently released Tensorflow Lite adds support for neural processing on mobile phones.
Developed by Berkeley AI Research, Caffe claims to offer one of the fastest implementations of convolutional neural networks. It was originally developed for machine vision projects but has since expanded to other applications, with its extensible C++ code designed to foster active development. Both CPU and GPU processing are supported.
Developed and released as open source by Samsung, Veles is a distributed ML platform designed for rapid deep-learning application development. Users can train various artificial neural net types – including fully connected, convolutional and recurrent. It can be integrated with any Java application, and its “snapshot” feature improves disaster recovery.
In development since 1999, Shogun offers various unified ML methods, including classification, regression and explorative data analysis. It’s written in C++, but its ML toolbox can be accessed using Java, Python, Matlab and other high-level languages. Its cloud service can be used for educational purposes by universities and ML workshops.
Developed at the University of Waikato in New Zealand, this open-source Java framework specializes in real-time mining of streaming data and large-scale ML. It offers a wide range of ML algorithms, including classification, regression, clustering, outlier detection and concept drift detection. Evaluation tools are also provided.
mlpack is a scalable ML library implemented in C++. It can be accessed at two levels: through an intuitive command-line API for novice users who only need black box functionality; and through a more advanced C++ API for expert users. It emphasizes scalability, speed and ease of use, with each API library being well documented with papers, tutorials and other references.
Accord is a scientific computing framework implemented in C#. Its ML component comes with audio and image processing libraries, and supports a wide range of operations, including artificial neural networks, vector machines, decision trees, Bayesian models and outlier detection. Its library of sample applications helps users learn more quickly through examples.
The Torch ML library makes ML easy and efficient, thanks to its use of the Lua scripting language and a GPU-first implementation. It comes with a large collection of community-driven ML packages that cover computer vision, signal processing, audio processing, networking and more. Its neural network and optimization libraries are designed to be both accessible and flexible.
Many of these frameworks are open-source – making them ideal for exploring the latest ML trends and connecting with other ML enthusiasts. If you plan to start a data science degree, they can be great practical learning tools.