Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon

ML.NET 0.4 is here with support for SymSGD, F#, and word embeddings transform!A

Save for later
  • 2 min read
  • 13 Aug 2018

article-image
After the release of ML.NET 0.1 at //Build 2018, back in May, the Microsoft team announced ML.NET 0.4 last week. The latest release includes features such as Word Embedding Transform, SymSGD Learner, and improvements to F# API and samples for ML.NET.

ML.NET is a cross-platform, open source machine learning framework for .NET developers. Let’s have a quick look at the major features in ML.NET 0.4.

Word Embeddings Transform for Text Scenarios


Word embeddings is a method which allows mapping words to numeric vectors for capturing the meaning of the words. This is used for visualization or model training.

With ML.NET 0.4, the word embedding transform is added to ML.NET allowing you to use pre-trained or existing word embedding models in pipelines. There are several different pretrained models such as GloVe, fastText, and SSWE which are available. Adding this transform method along with the existing transforms help improve the model’s metrics.

SymSGD Learner for Binary Classification


SymSGD is now available in ML.NET 0.4 for binary classification. SymSGD is a parallel SGD algorithm which retains the sequential semantics of SGD. It offers a much better performance based on multithreading. It is fast, scales well on multiple cores, and achieves the same accuracy as sequential SGD.

SymSGD can be applied to any linear learner where update rule is linear like a binary classification or a linear regression.

This is how you can add a SymSGD Binary Classifier learner to the pipeline:

pipeline.Add(new SymSgdBinaryClassifier() { NumberOfThreads = 1});

Even though there is no multithreading enabled in SymSGD at the moment, it can be helpful in cases where you want to try many different learners and limit each of them to a single thread.

Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $19.99/month. Cancel anytime

Improvements to F# API and samples for ML.NET


ML.NET did not provide support for F# records. With ML.NET 0.4 release, you can use property-based row classes in F#.

To get more coverage, check out the official Microsoft blog.

Microsoft Open Sources ML.NET, a cross-platform machine learning framework

Create machine learning pipelines using unsupervised AutoML [Tutorial

Top AutoML libraries for building your ML pipelines