Comparison of machine learning software
From Wikipedia, the free encyclopedia
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 | Open-source |
Platform | Written in | Interface | Has pretrained models |
Actively developed | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Apache Mahout | Apache Software Foundation | 2009 | Yes | Cross-platform | Java, Scala | Java, Scala, command line | Yes | Yes | No | No | No | Yes |
| Apache SINGA | Apache Software Foundation | 2015 | Yes | Linux, macOS, Windows | C++, Python | C++, Python | Yes | No | Yes | No | No | Yes |
| Apache SystemDS | Apache Software Foundation | 2015 | Yes | Linux, macOS, Windows | Java, Python, C | Java, Python, DML[4] | Yes | Yes | Yes | No | No | Yes |
| CatBoost | Yandex | 2017 | Yes | Linux, macOS, Windows | C++, Python | C++, Python, R, Java | Yes | No | No | No | No | Yes |
| Dlib | Davis E. King | 2002 | Yes | Cross-platform | C++ | C++, Python | Yes | No | Yes | No | Yes | Yes |
| ELKI | ELKI project | 2010 | Yes | Cross-platform | Java | Java | Yes | Yes | No | No | No | Yes |
| fastText | Meta AI | 2015 | Yes | Linux, macOS, Windows | C++, Python | Command line, Python | Yes | Yes | No | No | Yes | Yes |
| Flux | FluxML contributors[5] | 2018 | Yes | Linux, macOS, Windows | Julia | Julia | Yes | Yes | Yes | Yes | Yes | Yes |
| Gensim | Radim Řehůřek | 2009 | Yes | Linux, macOS, Windows | Python, Cython | Python | No | Yes | No | No | Yes | Yes |
| H2O | H2O.ai | 2011 | Yes | Cross-platform | Java, Python, R | Web interface, Python, R, Java | Yes | Yes | Yes | No | Yes | Yes |
| Infer.NET | Microsoft Research | 2008 | Yes | Windows, macOS, Linux | C# | C# | Yes | Yes | No | No | No | No |
| JAX | 2018 | Yes | Linux, macOS, Windows | Python | Python | Yes | Yes | Yes | Yes | No | Yes | |
| Jubatus | Preferred Infrastructure and NTT | 2011 | Yes | Linux | C++ | C++, Python, Java | Yes | Yes | No | No | No | No |
| KNIME | KNIME AG | 2006 | Yes | Cross-platform | Java | GUI, Python, R | Yes | Yes | Yes | No | No | Yes |
| LIBSVM | Chih-Chung Chang and Chih-Jen Lin | 2001 | Yes | Cross-platform | C++, Java | C++, Java, command line | Yes | No | No | No | No | Yes |
| LightGBM | Microsoft | 2016 | Yes | Linux, macOS, Windows | C++, Python | C++, Python, R | Yes | Yes | No | No | No | Yes |
| MATLAB[6] | MathWorks | 1984 | No | Linux, macOS, Windows | C, C++, Java, MATLAB | MATLAB | Yes | Yes | Yes | Yes | Yes | Yes |
| Microsoft Cognitive Toolkit | Microsoft Research | 2016 | Yes | Linux, Windows | C++ | C++, Python, C# | Yes | No | Yes | No | No | No |
| MindSpore | Huawei | 2020 | Yes | Linux, Windows, macOS, Android | C++, Rust, Julia, Python, Java | Python, C++, Java | Yes | No | Yes | Yes | Yes | Yes |
| ML.NET | Microsoft | 2018 | Yes | Linux, macOS, Windows | C#, C++ | C#, F# | Yes | Yes | Yes | No | No | Yes |
| mlpack | mlpack developers | 2008 | Yes | Cross-platform | C++ | C++, command line | Yes | Yes | No | No | No | Yes |
| MXNet | Apache Software Foundation | 2015 | Yes | Linux, macOS, Windows, Android, iOS | C++, Python | C++, Python, Julia, MATLAB, JavaScript, Go, R, Scala, Perl, Clojure | Yes | Yes | Yes | Yes | Yes | No |
| Orange | University of Ljubljana | 1996 | Yes | Cross-platform | Python, C++ | GUI, Python | Yes | Yes | Yes | No | No | Yes |
| RapidMiner | RapidMiner | 2006 | No | Cross-platform | Java | GUI | Yes | Yes | Yes | No | No | Yes |
| Scikit-learn | scikit-learn developers | 2007 | Yes | Cross-platform | Python, Cython | Python | Yes | Yes | No | No | No | Yes |
| Shogun | Shogun Toolbox community | 1999 | Yes | Cross-platform | C++ | C++, Python, Java, R, Ruby, C#, Lua, Octave | Yes | Yes | No | No | No | Yes |
| Spark MLlib | Apache Software Foundation | 2014 | Yes | Cross-platform | Scala, Java | Scala, Java, Python, R | Yes | Yes | Yes | No | No | Yes |
| TensorFlow | Google Brain | 2015 | Yes | Linux, macOS, Windows, Android | C++, Python, CUDA | Python, C++, Java, JavaScript, R | Yes | Yes | Yes | Yes | Yes | Yes |
| Theano | University of Montreal | 2007 | Yes | Linux, macOS, Windows | Python, CUDA | Python | No | No | Yes | Yes | No | No |
| Vowpal Wabbit | Yahoo! Research and Microsoft Research | 2007 | Yes | Linux, macOS, Windows | C++ | C++, command line, Python | Yes | No | No | No | No | Yes |
| Weka | University of Waikato | 1993 | Yes | Cross-platform | Java | GUI, Java, command line | Yes | Yes | No | No | No | Yes |
| XGBoost | Tianqi Chen and contributors | 2014 | Yes | Linux, macOS, Windows | C++, Python | C++, Python, R, Java, Julia | Yes | Yes | No | No | No | Yes |
Other comparisons
| Software | Type | Primary use | GUI |
|---|---|---|---|
| Apache Mahout | Library | Distributed machine learning | No |
| Apache SINGA | Library | Distributed machine learning and deep learning | No |
| Apache SystemDS | Platform | End-to-end machine learning and data science workflows | No |
| CatBoost | Library | Gradient boosting and decision tree learning | No |
| Dlib | Library | Machine learning and computer vision | No |
| ELKI | Framework | Data mining, clustering, outlier detection | Yes |
| fastText | Library | Text classification, word embeddings, and natural language processing | No |
| Flux | Library | Machine learning and deep learning | No |
| Gensim | Library | Topic modeling, document retrieval, and similarity analysis | No |
| H2O | Platform | Machine learning and AutoML | Yes |
| Infer.NET | Library | Bayesian inference and probabilistic programming | No |
| JAX | Library | Numerical computing, machine learning, and automatic differentiation | No |
| Jubatus | Framework | Distributed online machine learning | No |
| KNIME | Platform | Visual data analytics and machine learning workflows | Yes |
| LIBSVM | Library | Support vector machine classification and regression | No |
| LightGBM | Library | Gradient boosting and decision tree learning | No |
| MATLAB | Computing platform | Numerical computing, statistics, and machine learning | Yes |
| CNTK | Framework | Deep learning and machine learning | No |
| MindSpore | Framework | machine learning and deep learning | No |
| ML.NET | Framework | Machine learning for .NET | Yes |
| mlpack | Library | General-purpose machine learning | No |
| MXNet | Framework | Deep learning and scalable machine learning | No |
| Orange | Platform | Visual programming, data mining, and machine learning | Yes |
| RapidMiner | Platform | Data science and machine learning workflows | Yes |
| Scikit-learn | Library | General-purpose machine learning | No |
| Shogun | Library | General-purpose machine learning | No |
| Spark MLlib | Library | Distributed machine learning on Apache Spark | No |
| TensorFlow | Framework | Deep learning and machine learning | Yes |
| Theano | Library | Machine learning and deep learning | No |
| Vowpal Wabbit | Library | Online machine learning and reinforcement learning | No |
| Weka | Suite | Machine learning and data mining | Yes |
| XGBoost | Library | Gradient boosting | No |
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[7]
- Kubeflow — machine learning platform for Kubernetes
- Mallet — toolkit for natural language processing and text analysis
- NumPy — numerical computing library used in machine learning[8][9]
- 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[10]
- SciPy — scientific computing and optimization library used in machine learning[11]
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[12]
- Jupyter Notebook — interactive notebook environment used for machine learning and data science[13][14]
- Kaggle — online data science and machine learning platform[15]
See also
Wikibooks has a book on the topic of: Subject:Machine learning
- Comparison of deep learning software
- Comparison of numerical-analysis 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
External links
- Yellowbrick — machine learning visualization library for model selection and diagnostics
- ELI5 — library for explaining and debugging machine learning models
- InterpretML — interpretable machine learning toolkit
- SHAP — library for explaining machine learning model predictions