The number of ML algorithms, as well as their different software implementation, is extensively high. Many software tools for DM using ML techniques have been in development for the past 25 years [Jovic 2014]. Their common goal is to facilitate the complicated data analysis process and to propose integrated environments on top of standard programming languages. Beside that, tools are designed for various purposes: as analytic platform, predictive systems, recommender systems, processors (from image, sound or language). A number of them are oriented to large-scale data, fast processing or streaming. Other ones are specialized for NNs and DL. There is no single tool suitable for every problem and often a combination of them is needed to solve it. Fig. 5 provides a comprehensive overview of ML frameworks and libraries.
In following sections, the most well-known tools are described and evaluated briefly with their basic properties such as implementation language, license, coverage of ML methods as well as supports for recent advanced DM topics i.e. the current demand of processing large-scale data. Most of the modern DM tools have dataflow architectures (pipeline or workflow). Some of them have graphical integrated environments (GUI), others prefer an API approach or both. The software development in ML/DL direction is highly dynamic with various abstraction layers of implementations as depicted in Fig. 6.
The details of these tools are presented in the part 3.2 (DL frameworks and libraries with GPU support) and the part 3.3 (ML/DL frameworks and libraries integrated with MapReduce). The following part 3.1 is concentrated into the state-of-the-art of ML/NN frameworks and libraries, which do not require special hardware or infrastructure supports. Nevertheless, these tools can utilise multi-CPU power to deal with large-scale data. A short overview of Sections 3.1, 3.2 and 3.3 is provided in Table 4, Table 5 and Table 6 respectively. These tables summarise the frameworks and libraries capabilities so users can choose appropriate products for tackling their problems. Each tool is also described and evaluated separately afterwards in more detail.