Comparison of machine learning software
The following tables are a comparison of machine learning software such as software frameworks, libraries, and computer programs used for machine learning.
Machine learning software
Software |
Creator |
Initial release |
Platform |
Written in |
Interface |
|||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Accord.NET |
César Souza |
2010 |
Cross-platform |
C# |
C# |
|||||||
Apache Mahout |
Apache Software Foundation |
2009 |
Cross-platform |
Java, Scala |
Java, Scala, command line |
|||||||
Apache SINGA |
Apache Software Foundation |
2015 |
Linux, macOS, Windows |
C++, Python |
C++, Python |
|||||||
Apache SystemDS |
Apache Software Foundation |
2015 |
Linux, macOS, Windows |
Java, Python, C |
Java, Python, DML |
|||||||
CatBoost |
Yandex |
2017 |
Linux, macOS, Windows |
C++, Python |
C++, Python, R, Java |
|||||||
Dlib |
Davis E. King |
2002 |
Cross-platform |
C++ |
C++, Python |
|||||||
ELKI |
ELKI project |
2010 |
Cross-platform |
Java |
Java |
|||||||
fastText |
Meta AI |
2015 |
Linux, macOS, Windows |
C++, Python |
Command line, Python |
|||||||
Flux |
FluxML contributors{{cite journal |
last=Innes |
first=Mike |
title=Flux: Elegant machine learning with Julia |
journal=Journal of Open Source Software |
volume=3 |
issue=25 |
pages=602 |
date=2018-05-03 |
doi=10.21105/joss.00602 |
doi-access=free |
bibcode=2018JOSS....3..602I
|
Gensim |
Radim Řehůřek |
2009 |
Linux, macOS, Windows |
Python, Cython |
Python |
|||||||
H2O |
H2O.ai |
2011 |
Cross-platform |
Java, Python, R |
Web interface, Python, R, Java |
|||||||
Infer.NET |
Microsoft Research |
2008 |
Windows, macOS, Linux |
C# |
C# |
|||||||
JAX |
2018 |
Linux, macOS, Windows |
Python |
Python |
||||||||
Jubatus |
Preferred Infrastructure and NTT |
2011 |
Linux |
C++ |
C++, Python, Java |
|||||||
KNIME |
KNIME AG |
2006 |
Cross-platform |
Java |
GUI, Python, R |
|||||||
LIBSVM |
Chih-Chung Chang and Chih-Jen Lin |
2001 |
Cross-platform |
C++, Java |
C++, Java, command line |
|||||||
LightGBM |
Microsoft |
2016 |
Linux, macOS, Windows |
C++, Python |
C++, Python, R |
|||||||
Massive Online Analysis |
University of Waikato |
2007 |
Cross-platform |
Java |
GUI, Java, command line |
|||||||
MATLAB |
MathWorks |
1984 |
Linux, macOS, Windows |
C, C++, Java, MATLAB |
MATLAB |
|||||||
Microsoft Cognitive Toolkit |
Microsoft Research |
2016 |
Linux, Windows |
C++ |
C++, Python, C# |
|||||||
MindSpore |
Huawei |
2020 |
Linux, Windows, macOS, Android |
C++, Rust, Julia, Python, Java |
Python, C++, Java |
|||||||
ML.NET |
Microsoft |
2018 |
Linux, macOS, Windows |
C#, C++ |
C#, F# |
|||||||
mlpack |
mlpack developers |
2008 |
Cross-platform |
C++ |
C++, command line |
|||||||
MLX |
Apple |
2023 |
macOS on Apple silicon, Linux |
C++, Python, CUDA, Metal |
Swift, C, Python, C++ |
|||||||
MXNet |
Apache Software Foundation |
2015 |
Linux, macOS, Windows, Android, iOS |
C++, Python |
C++, Python, Julia, MATLAB, JavaScript, Go, R, Scala, Perl, Clojure |
|||||||
Orange |
University of Ljubljana |
1996 |
Cross-platform |
Python, C++ |
GUI, Python |
|||||||
PyMC |
PyMC Development Team |
2005 |
Cross-platform |
Python |
Python |
|||||||
RapidMiner |
RapidMiner |
2006 |
Cross-platform |
Java |
GUI |
|||||||
Scikit-learn |
scikit-learn developers |
2007 |
Cross-platform |
Python, Cython |
Python |
|||||||
Scikit-multiflow |
Jacob Montiel |
2018 |
Linux, macOS, Windows |
Python, Cython |
Python |
|||||||
Shogun |
Shogun Toolbox community |
1999 |
Cross-platform |
C++ |
C++, Python, Java, R, Ruby, C#, Lua, Octave |
|||||||
Spark MLlib |
Apache Software Foundation |
2014 |
Cross-platform |
Scala, Java |
Scala, Java, Python, R |
|||||||
TensorFlow |
Google Brain |
2015 |
Linux, macOS, Windows, Android |
C++, Python, CUDA |
Python, C++, Java, JavaScript, R |
|||||||
Theano |
University of Montreal |
2007 |
Linux, macOS, Windows |
Python, CUDA |
Python |
|||||||
Torch |
Idiap Research Institute |
2002 |
Cross-platform |
C, Lua, CUDA |
Lua, C |
|||||||
Vowpal Wabbit |
Yahoo! Research and Microsoft Research |
2007 |
Linux, macOS, Windows |
C++ |
C++, command line, Python |
|||||||
Weka |
University of Waikato |
1993 |
Cross-platform |
Java |
GUI, Java, command line |
|||||||
XGBoost |
Tianqi Chen and contributors |
2014 |
Linux, macOS, Windows |
C++, Python |
C++, Python, R, Java, Julia |
Other comparisons
Software |
Type |
Primary use |
GUI |
|---|---|---|---|
Accord.NET |
Framework |
Machine learning, computer vision, and statistical analysis |
|
Apache Mahout |
Library |
Distributed machine learning |
|
Apache SINGA |
Library |
Distributed machine learning and deep learning |
|
Apache SystemDS |
Platform |
End-to-end machine learning and data science workflows |
|
CatBoost |
Library |
Gradient boosting and decision tree learning |
|
Dlib |
Library |
Machine learning and computer vision |
|
ELKI |
Framework |
Data mining, clustering, outlier detection |
|
fastText |
Library |
Text classification, word embeddings, and natural language processing |
|
Flux |
Library |
Machine learning and deep learning |
|
Gensim |
Library |
Topic modeling, document retrieval, and similarity analysis |
|
H2O |
Platform |
Machine learning and AutoML |
|
Infer.NET |
Library |
Bayesian inference and probabilistic programming |
|
JAX |
Library |
Numerical computing, machine learning, and automatic differentiation |
|
Jubatus |
Framework |
Distributed online machine learning |
|
KNIME |
Platform |
Visual data analytics and machine learning workflows |
|
LIBSVM |
Library |
Support vector machine classification and regression |
|
LightGBM |
Library |
Gradient boosting and decision tree learning |
|
MOA |
Framework |
Online machine learning and data stream mining |
|
MATLAB |
Computing platform |
Numerical computing, statistics, and machine learning |
|
CNTK |
Framework |
Deep learning and machine learning |
|
MindSpore |
Framework |
machine learning and deep learning |
|
ML.NET |
Framework |
Machine learning for .NET |
|
mlpack |
Library |
General-purpose machine learning |
|
MLX |
Framework |
Machine learning and deep learning on Apple silicon |
|
MXNet |
Framework |
Deep learning and scalable machine learning |
|
Orange |
Platform |
Visual programming, data mining, and machine learning |
|
PyMC |
Framework |
Bayesian modeling and probabilistic programming |
|
RapidMiner |
Platform |
Data science and machine learning workflows |
|
Scikit-learn |
Library |
General-purpose machine learning |
|
Scikit-multiflow |
Library |
Online machine learning and data stream mining |
|
Shogun |
Library |
General-purpose machine learning |
|
Spark MLlib |
Library |
Distributed machine learning on Apache Spark |
|
TensorFlow |
Framework |
Deep learning and machine learning |
|
Theano |
Library |
Machine learning and deep learning |
|
Torch |
Framework |
Machine learning and deep learning |
|
Vowpal Wabbit |
Library |
Online machine learning and reinforcement learning |
|
Weka |
Suite |
Machine learning and data mining |
|
XGBoost |
Library |
Gradient boosting |
Machine learning helper libraries and platforms
- Apache OpenNLP — natural language processing toolkit
- CUDA — GPU computing platform used to accelerate machine learning and deep learning workloads
- Horovod — distributed training framework for deep learning
- Hugging Face Transformers — library of pretrained transformer models built on other machine learning frameworks
- Kubeflow — machine learning platform for Kubernetes
- Mallet — toolkit for natural language processing and text analysis
- NumPy — numerical computing library used in machine learning
- OpenCV — computer vision library with machine learning functions
- ONNX — open format for representing machine learning models
- pandas — data analysis and data preparation library used in machine learning
- PlaidML — tensor compiler and backend for machine learning frameworks
- Polars — Dataframe library used for machine learning data preparation and analysis
- PyArrow — columnar data library used in machine learning data processing
- ROOT (TMVA) — data analysis framework with machine learning tools
- SciPy — scientific computing and optimization library used in machine learning
Online development environments for machine learning
- Google Colab — hosted Jupyter Notebook environment commonly used for machine learning and deep learning
- JupyterLab — notebook-based development environment for machine learning and data science
- Jupyter Notebook — interactive notebook environment used for machine learning and data science
- Kaggle — online data science and machine learning platform
See also
- Comparison of deep learning software
- Comparison of statistical packages
- Data mining
- Deep learning
- List of datasets for machine-learning research
- List of machine learning algorithms
- List of Python machine learning and deep learning software
- Lists of open-source artificial intelligence software
- Outline of machine learning