One of the main goals for the Thinkwise Platform is to enable developers to focus on the functional aspects of software development instead of the technical aspects. To allow developers to leverage machine learning with minimal technical hurdles, we've added AutoML to the Thinkwise Platform in version 2020.2!
Machine learning
Machine learning combines software engineering with the field of mathematics and statistics to create algorithms that can learn from experience. To apply this in the field, data scientists use domain knowledge to apply these algorithms to create machine learning models that can make estimates and predictions based on the knowledge gained from experience.
In applications built with the Thinkwise Platform, experience is often existing historical data. Machine Learning techniques in these applications are often leveraged for calculations that are difficult or impossible to express with regular code. Some examples include:
- Demand predictions over time
- Project cost- and effort estimations
- Risk- and priority assessments based on many variables
Machine Learning algorithms are used to perform these predictions, using historical data to train these algorithms. However, the broad skillset needed to develop these solutions does not match the skillset of a typical developer using the Thinkwise Platform.
Automated Machine Learning
Meet AutoML, a solution designed to automate the process of machine learning. AutoML can be used to automatically train prediction models based on data in a table, view or snapshot. In version 2020.2 of the Thinkwise Platform, AutoML models can be trained for two types of problems:
- Classification
- Focus on choosing a type, group or other predefined classification.
- Usually a domain with elements, such as risk level or priority.
- Regression
- Focus on determining a numerical value based on provided input.
- Examples might include values such as total profit or response time.
Machine learning models can be developed, deployed and applied using the AutoML module in the Software Factory.
Training a model
A new menu option for Machine learning has been added to the sidebar in the Software Factory. Clicking on it will bring you to the AutoML configuration screen.
Here, a table can be selected to be used as input for training the model. Next, a target and one or more predictors must be chosen from the columns of this table. The target denotes the column for which predictions will be made and predictors are the columns on which this prediction is based.
Note that this will only provide the basis on which the model will be trained. Once training is done the model can be used in any scenario as long as the required input can be provided.
At any point during set-up the task Load training data can be executed to retrieve the data from the table which will be used in training the model.
Once set-up is finished and training data has been loaded, the task Queue AutoML model for training can be used to start training. This will change the status to queued for training and place the training request in a queue to be handed off to Indicium. Currently only one model can be trained at a time on a first in first out basis, so please take that into consideration when creating multiple configurations.
The models used in the training process will be displayed in the Result models tab. Once training has started the various types of model will automatically be queued and the status of the configuration will be updated to training.
Reviewing training results
When a type of model is done training, performance metrics will be shown to indicate the accuracy of the trained model. The default sorting of the tab is set so that the best performing model will usually be shown at the top once all models are finished training.
When all models have finished training the status of the configuration will change to Training finished.
Activating a model
Once training is finished, one of the models can be chosen as the active model for this configuration by using the Select task. This configuration will now be usable in process actions and use the selected model for prediction execution.
Running a prediction
Predictions can be performed by creating a process flow and using the new Run AutoML model process action. This will employ a new connector which runs the input data through the model and outputs a prediction. Once the AutoML configuration is used by a process action the status will change to Active.
Please be aware that the Run AutoML model connector can currently only be used in scheduled system flows. If any process actions that require manual input are present, creating a schedule for this process flow will not be possible.
A couple more steps are needed to finish the final configuration, but that would be too in-depth to cover in a blog post. With the release of version 2020.2 of the Thinkwise Platform we will be updating our online docs to include a detailed step by step guide to configuring process flows to make use of AutoML.
Future developments
With our current implementation we’re leveraging the power of Indicium to considerably lower the barrier of entry to Machine Learning. That said however, we still have a few improvements in the works to look forward to. These include:
- Resolving more types of problems with additional models.
- Parallel training of multiple models.
- Running predictions in non-scheduled process flows.
You can look forward to using AutoML when we release version 2020.2 of the Thinkwise Platform! We predict you’re going to benefit greatly by using this powerful new feature.