Last week Machine Learning.Net 1.0 was officially announced during Build 2019, and the ML.Net team also announced a set of ML tools related to ML.Net.
One of the most interesting ones is Machine Learning Model Builder. You can get more information about Model Builder in the official website.
ML.NET Model Builder provides an easy to understand visual interface to build, train, and deploy custom machine learning models. Prior machine learning expertise is not required. Model Builder supports AutoML, which automatically explores different machine learning algorithms and settings to help you find the one that best suits your scenario.Machine Learning Model Builder
The tool is on Preview, but it’s still an amazing one to play around with ML. So I decided to give it a try with my small data set of kids, the one I use on the Machine Learning.Net demos.
The structure of my CSV file is very simple with just 3 columns: Age, Gender and Label.
However the first time I run the scenario I found the following error.
Inferring Columns ... Creating Data loader ... Loading data ... Exploring multiple ML algorithms and settings to find you the best model for ML task: regression For further learning check: https://aka.ms/mlnet-cli | Trainer RSquared Absolute-loss Squared-loss RMS-loss Duration #Iteration | [Source=AutoML, Kind=Trace] Channel started Exception occured while exploring pipelines: Provided label column 'Label' was of type String, but only type Single is allowed. System.ArgumentException: Provided label column 'Label' was of type String, but only type Single is allowed. at Microsoft.ML.CLI.Program.<>c__DisplayClass1_0.<Main>b__0(NewCommandSettings options) at Microsoft.ML.CLI.CodeGenerator.CodeGenerationHelper.GenerateCode() Please see the log file for more info. Exiting ...
Which makes a lot of sense, my Label column is a String and the Model Builder expects a Single data type. So, I updated my data file replacing the labels with numbers and I was ready for a 2nd test.
This time the training process started fine, however I noticed that using just a small training dataset didn’t trigger any comparing between different algorithms. So I created a much bigger training dataset, and now I got the training process up and running.
At the end the results are the ones below. And it’s very interesting. I do most of my demos using a MultiClass SDCA trainer and AutoML suggest me to use a LightGBM trainer. This will be part of my Machine Learning.Net speech for sure in the future.
You can download the Visual Studio extension from https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotnet/model-builder and remember that we can talk about this on the Visual Studio 2019 event with the Mississauga .Net User Group in a couple of weeks!
Greetings @ Toronto