ML.NET | Microsoft’s Open Source Machine Learning Framework

  • Microsoft has released ML.NET as a part of .NET Foundation.
  • It consists of C# and .NET APIs for model training and consumption.
  • The primary objective is to make machine learning more efficient in .NET.
  • One can extend this framework by adding other well-known machine learning libraries like TensorFlow.

The first developer preview is of ML.NET is now available. It’s an open source, cross-platform machine learning framework built for .NET developers. It was originally created by Microsoft, and over the last 10 years, the framework has been used across several Microsoft products, including Azure, Bing and Windows.

ML.NET allows you to build your own models and integrate machine learning (ML) methods into applications. The best thing is you don’t require any prior expertise to configure ML models.

The First Preview

The ML.NET preview release includes transforms for feature engineering such as n-gram creation, and learners to handle regression (price prediction), binary and multi-class classification (sentiment analysis) tasks.

In addition to these features, ML.NET brings the .NET APIs’ first draft for training models, and key modules like core machine learning data structure and learning algorithms. Moreover, it complements the experiences provided by Azure Cognitive Services and ML, by allowing code-first strategy.

One can extend this framework by adding other well-known machine learning libraries like CNTK, Accord.NET, Caffe2 and TensorFlow. And since it’s a cross platform tool, you can run it on macOS, Windows and Linux devices.

Core Modules of ML.NET

All components of ML.NET first preview

Microsoft has released ML.NET as a part of .NET Foundation. It consists of C# and .NET APIs for model training as well as consumption. The primary objective is to make machine learning more efficient in .NET.

To achieve this, it offers end to end workflow to integrate machine learning into .NET application across pre-processing, modeling, feature engineering, operationalization and evaluation.

Reference: Microsoft | GithubML.NET Guide

The framework repo can be created from a common, non-admin command prompt. It generates several binaries that make up the ML.NET libraries and supplement tests.

The developer workflow is categorized into certain tasks, which are transparent, fast, and easy to grasp. This provides flexibility as you can iterate on a particular task without having to execute the full workflow. The tasks can be reused by other processes if needed, and anyone can put together these tasks to build a custom workflow.

The framework supports runtime and types required for almost all features of ML, including high performance math, extensible pipelines, core data types and data structures for heterogeneous information, and more.

ML.NET codeCode example to train a model to predict sentiment from text samples

Read: 16 Useful Machine Learning Cheat Sheets

What’s Next?

Developers will be adding more features and capabilities (like recommendation system, anomaly detection) to ML.NET in the upcoming versions. For now, they are exploring the following areas –

  1. Open neural network exchange support
  2. More machine learning operation and scenarios
  3. Intuitive GUI to make machine learning operations easier
  4. Deep Learning with CNTK and TensorFlow
  5. Integration with Azure services and Visual Studio tools for AI.
Written by
Varun Kumar

I am a professional technology and business research analyst with more than a decade of experience in the field. My main areas of expertise include software technologies, business strategies, competitive analysis, and staying up-to-date with market trends.

I hold a Master's degree in computer science from GGSIPU University. If you'd like to learn more about my latest projects and insights, please don't hesitate to reach out to me via email at [email protected].

View all articles
Leave a reply