The number of frameworks and libraries coupled with the analytical process using ML/NN/DL techniques is quite high. A relevant subset of them are described below.
MatLab (matrix laboratory) is a multi-paradigm numerical computing environment. It uses a proprietary programming language developed by MathWorks [MatLab]. MatLab is quite popular with over 2 million users across industry and academia. On the other hand, MatLab is a proprietary product of MathWorks, so users are subject to vendor lock-in and future development will be tied to the MatLab language. The two most popular free alternatives to MatLab are GNU Octave [Octave] and SciLab [SciLab].
SAS (Statistical Analysis System) began as a project to analyse agricultural data at North Carolina State University in 1966 [SAS]. Currently, it is a proprietary software package written in C for advanced data analytics and business intelligence with more than 200 components. Another similar proprietary software package is SPSS (Statistical Package for the Social Sciences) [SPSS]. It was developed in 1968 and was acquired by IBM in 2009. An open source alternative of SPSS is GNU PSPP [PSPP].
R is a free software environment for statistical computing and graphics including linear and nonlinear modeling, classical statistical tests, time-series analysis, classification, clustering. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS [Rproject]. R is ease of use and extensible via packages. The Comprehensive R Archive Network offers more than 10000 packages [R-CRAN].
Python is a programming language created by Guido van Rossum and first released in 1991 [Python]. Python is successfully used in thousands of real-world business applications around the world e.g. Google and YouTube. The primarily rationale for adopting Python for ML is because it is a general purpose programming language for research, development and production, at small and large scales. Python features a dynamic type system and automatic memory management, with a large and comprehensive libraries for scientific computation and data analysis.
NumPy is the fundamental package for scientific computing with Python [NumPy]. Besides its obvious scientific uses, NumPy can also be used as an efficient multidimensional container of generic data. NumPy stack has similar users to MatLab, GNU Octave, and SciLab.
SciPy is an open source Python library used for scientific computing and technical computing [SciPy]. SciPy builds on the NumPy array object and is part of the NumPy stack which includes tools like Matplotlib, Pandas, and SymPy.
Pandas is a Python package providing fast, flexible, and expressive data structures designed to make it easier to work with relational or labelled data [Pandas]. Its two primary data structures, Series (one-dimensional) and DataFrame (two-dimensional), handle the vast majority of typical use cases in finance, statistics, social science, and many areas of engineering.
NLTK is a leading platform for building Python programs to work with human language data [NLTK]. It comes with a suite of text processing libraries for classification, tokenisation, stemming, tagging, parsing, and semantic reasoning.