Before we understand the approach to testing Machine Learning applications, let’s look at the steps involved in building them. The following are the general steps involved in building a machine learning application as recommended by the Amazon Machine Learning portal:
- Frame the core ML problem(s) in terms of what is observed and what answer you want the model to predict.
- Collect, clean, and prepare data to make it suitable for consumption by ML model training algorithms. Visualize and analyze the data to run sanity checks to validate the quality of the data and to understand the data.
- Often, the raw data (input variables) and answer (target) are not represented in a way that can be used to train a highly predictive model. Therefore, you typically should attempt to construct more predictive input representations or features from the raw variables.
- Feed the resulting features to the learning algorithm to build models and evaluate the quality of the models on data that was held out from model building.
- Use the model to generate predictions of the target answer for new data instances.
The first step “What to predict” forms the basis for the rest in the sequence above. Now, there are occasions where “rule-based systems” can be useful to build a solution instead of using Machine Learning techniques. Zuci did a webinar a year ago titled, “Smart Phones, Smart Apps call for Smarter Tests” where we discussed the differences between rule-based systems and next generation solutions such as Machine Learning. Check out the video to know more.
Going back to the two organizations that we were in discussions with, the question “What to predict” was the actual application/solution/product, the companies were building. While one of the companies used Machine Learning to build a prediction solution for the Investment sector, the Machine Learning based prediction solution designed by the other company was targeted at multiple industries such as Retail, Healthcare and Financial Services.
So, how did the organizations handle Testing? What was Zuci’s role in Testing the applications?
(To be Continued …)