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

Comparison of machine learning software
SoftwareCreatorInitial releaseOpen-sourcePlatformWritten inInterfaceSupervised learningUnsupervised learningDeep learningAutomatic differentiationHas pretrained modelsActively developed
Apache MahoutApache Software Foundation2009YesCross-platformJava, ScalaJava, Scala, command lineYesYesNoNoNoYes
Apache SINGAApache Software Foundation2015YesLinux, macOS, WindowsC++, PythonC++, PythonYesNoYesNoNoYes
Apache SystemDSApache Software Foundation2015YesLinux, macOS, WindowsJava, Python, CJava, Python, DMLYesYesYesNoNoYes
CatBoostYandex2017YesLinux, macOS, WindowsC++, PythonC++, Python, R, JavaYesNoNoNoNoYes
DlibDavis E. King2002YesCross-platformC++C++, PythonYesNoYesNoYesYes
ELKIELKI project2010YesCross-platformJavaJavaYesYesNoNoNoYes
fastTextMeta AI2015YesLinux, macOS, WindowsC++, PythonCommand line, PythonYesYesNoNoYesYes
FluxFluxML contributors2018YesLinux, macOS, WindowsJuliaJuliaYesYesYesYesYesYes
GensimRadim Řehůřek2009YesLinux, macOS, WindowsPython, CythonPythonNoYesNoNoYesYes
H2OH2O.ai2011YesCross-platformJava, Python, RWeb interface, Python, R, JavaYesYesYesNoYesYes
Infer.NETMicrosoft Research2008YesWindows, macOS, LinuxC#C#YesYesNoNoNoNo
JAXGoogle2018YesLinux, macOS, WindowsPythonPythonYesYesYesYesNoYes
JubatusPreferred Infrastructure and NTT2011YesLinuxC++C++, Python, JavaYesYesNoNoNoNo
KNIMEKNIME AG2006YesCross-platformJavaGUI, Python, RYesYesYesNoNoYes
LIBSVMChih-Chung Chang and Chih-Jen Lin2001YesCross-platformC++, JavaC++, Java, command lineYesNoNoNoNoYes
LightGBMMicrosoft2016YesLinux, macOS, WindowsC++, PythonC++, Python, RYesYesNoNoNoYes
MATLABMathWorks1984NoLinux, macOS, WindowsC, C++, Java, MATLABMATLABYesYesYesYesYesYes
Microsoft Cognitive ToolkitMicrosoft Research2016YesLinux, WindowsC++C++, Python, C#YesNoYesNoNoNo
MindSporeHuawei2020YesLinux, Windows, macOS, AndroidC++, Rust, Julia, Python, JavaPython, C++, JavaYesNoYesYesYesYes
ML.NETMicrosoft2018YesLinux, macOS, WindowsC#, C++C#, F#YesYesYesNoNoYes
mlpackmlpack developers2008YesCross-platformC++C++, command lineYesYesNoNoNoYes
MXNetApache Software Foundation2015YesLinux, macOS, Windows, Android, iOSC++, PythonC++, Python, Julia, MATLAB, JavaScript, Go, R, Scala, Perl, ClojureYesYesYesYesYesNo
OrangeUniversity of Ljubljana1996YesCross-platformPython, C++GUI, PythonYesYesYesNoNoYes
RapidMinerRapidMiner2006NoCross-platformJavaGUIYesYesYesNoNoYes
Scikit-learnscikit-learn developers2007YesCross-platformPython, CythonPythonYesYesNoNoNoYes
ShogunShogun Toolbox community1999YesCross-platformC++C++, Python, Java, R, Ruby, C#, Lua, OctaveYesYesNoNoNoYes
Spark MLlibApache Software Foundation2014YesCross-platformScala, JavaScala, Java, Python, RYesYesYesNoNoYes
TensorFlowGoogle Brain2015YesLinux, macOS, Windows, AndroidC++, Python, CUDAPython, C++, Java, JavaScript, RYesYesYesYesYesYes
TheanoUniversity of Montreal2007YesLinux, macOS, WindowsPython, CUDAPythonNoNoYesYesNoNo
Vowpal WabbitYahoo! Research and Microsoft Research2007YesLinux, macOS, WindowsC++C++, command line, PythonYesNoNoNoNoYes
WekaUniversity of Waikato1993YesCross-platformJavaGUI, Java, command lineYesYesNoNoNoYes
XGBoostTianqi Chen and contributors2014YesLinux, macOS, WindowsC++, PythonC++, Python, R, Java, JuliaYesYesNoNoNoYes

Other comparisons

SoftwareTypePrimary useGUI
Apache MahoutLibraryDistributed machine learningNo
Apache SINGALibraryDistributed machine learning and deep learningNo
Apache SystemDSPlatformEnd-to-end machine learning and data science workflowsNo
CatBoostLibraryGradient boosting and decision tree learningNo
DlibLibraryMachine learning and computer visionNo
ELKIFrameworkData mining, clustering, outlier detectionYes
fastTextLibraryText classification, word embeddings, and natural language processingNo
FluxLibraryMachine learning and deep learningNo
GensimLibraryTopic modeling, document retrieval, and similarity analysisNo
H2OPlatformMachine learning and AutoMLYes
Infer.NETLibraryBayesian inference and probabilistic programmingNo
JAXLibraryNumerical computing, machine learning, and automatic differentiationNo
JubatusFrameworkDistributed online machine learningNo
KNIMEPlatformVisual data analytics and machine learning workflowsYes
LIBSVMLibrarySupport vector machine classification and regressionNo
LightGBMLibraryGradient boosting and decision tree learningNo
MATLABComputing platformNumerical computing, statistics, and machine learningYes
CNTKFrameworkDeep learning and machine learningNo
MindSporeFrameworkmachine learning and deep learningNo
ML.NETFrameworkMachine learning for .NETYes
mlpackLibraryGeneral-purpose machine learningNo
MXNetFrameworkDeep learning and scalable machine learningNo
OrangePlatformVisual programming, data mining, and machine learningYes
RapidMinerPlatformData science and machine learning workflowsYes
Scikit-learnLibraryGeneral-purpose machine learningNo
ShogunLibraryGeneral-purpose machine learningNo
Spark MLlibLibraryDistributed machine learning on Apache SparkNo
TensorFlowFrameworkDeep learning and machine learningYes
TheanoLibraryMachine learning and deep learningNo
Vowpal WabbitLibraryOnline machine learning and reinforcement learningNo
WekaSuiteMachine learning and data miningYes
XGBoostLibraryGradient boostingNo

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
  • PolarsDataframe 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

External links

  • — machine learning visualization library for model selection and diagnostics
  • — library for explaining and debugging machine learning models
  • — interpretable machine learning toolkit
  • — library for explaining machine learning model predictions