Choosing the right tool: A key challenge
It is extremely crucial to choose the appropriate tool for the successful implementation of machine learning tool. As seen in the previous sections, there are a wide range of open source machine learning tools available. Each of these tools has its own feature set, strengths and limitations. Due to the varied feature sets, it is not possible to directly compare the tools or suggest one that can be considered as the best fit for all use cases. Hence, it is often a challenging task to select the right tools set to solve the business problem at hand. We need to first have a clear understanding of the problem. Based on that understanding, we need to choose the right tool set which is the best fit to solve that type of business problem.
Like in any other domain of software architecture, selecting a machine learning tool should be driven by the business use case. To choose the right tool, we first need to understand the business context and the business driver. Once we define the problem and get the consensus from all the stakeholders, we need to identify the machine learning technique that would be suitable to meet that business driver. The identified functional and non-functional requirements would form the basis of choosing the appropriate tool which would cater to the business need.
Now, if we consider the entire spectrum of business use cases around machine learning, prima facie they can be grouped into three segments: The classical use cases, which call for in-depth data analysis and very specific algorithms. In these cases we need to use tools like R, Python and Octave as these tools have a huge set of implementations for a really large number of algorithms. These tools allow us to create a bespoke solution by selecting a specific algorithm. Also, with the basic building blocks given in these tools, the user often customises the algorithm or the implementations to address a specific business need. As