Introduction To ML.NET

This article discusses ML.NET and its specialty. We also walk through the difference between traditional programming and machine learning. The article also explains the machine learning process and the numerous use cases where ML.NET can be used.

Machine Learning

Machine Learning is a science and art through which machines can learn from data. Machine Learning is a subject of AI and it is an approach to solve numerous problems. From Computer Vision to Natural Language Processing to Analysis in Stock Market and Healthcare, Machine Learning is everywhere. It is tremendously powerful and has a subset under it to solve even exponentially difficult problems.

To learn in-depth between Machine Learning and various key elements of Artificial Intelligence, do check out the previous article, Artificial Intelligence Overview.

ML.NET

ML.NET is a machine learning framework designed to cater to .NET developers. There are currently over 6 million .NET developers across the globe and to enable the .NET developers with machine learning capabilities, ML.NET is a get-go. It is totally free and this machine learning library can be used for both C# and F#.

Some of the key aspects of ML.NET,

  • Open-source
    Microsoft has been an advocate of open source for a long time now. Thus, ML.NET is released under the license to grant users distribute, use or change its source code for any specific purpose without explanation. This would help the ML.NET to grow through the developer community over the years.
     
  • Cross-platform
    Since launched as a cross-platform, the applications developed with ML.NET can be developed, launched, used, and be implemented in multitudes of computing platforms.
     
  • Code first
    Machine Learning Applications are usually a domain-driven design. Thus, ML.NET focuses on creating classes for domain entities first rather than databases.
     
  • On-premises
    ML.NET provides huge functionalities for Machine Learning and even Deep Learning. Though Machine Learning is not so hard on computation capabilities, having to use Deep Learning in the cloud would amp up the usage of the computing devices on the cloud thus, giving you a hefty bill as the month-end. To make sure, cases like these don’t arise, ML.NET has been designed to support On-Premises architecture too.

Introduction To ML.NET

  • Inference for deep learning models
    ML.NET supports inference for deep learning models. This helps to make predictions using a trained DNN model without the previously unseen data. Deep Learning involves inference, such as its process to classify an image when fed in the training process. ML.NET provides this feature so that Deep Learning is easily supported by the developers.

 

Traditional Programming vs Machine Learning

In traditional programming, data and specific rules are supplied, and based on those rules applied and data, the answers have resulted and the tasks are performed in the output. For eg., A program to output if it is hot or cool in the room, all it needs to do is perform a certain logic.

Introduction To ML.NET

If the temperature is below, 28 degrees Celsius (<28C) - The program determines it is cool.

If the temperature is above, 28 degrees Celsius (>28C) - The program determines it is hot.

But now, if we want to design an efficient thermal comfort system, lets us suppose in a house, it needs to integrate all the sensors in the house, detect where the people are and without having to turn on the switch or turn it off, the system with artificial intelligence can help create and maintain a comfortable thermal system with different temperatures at different rooms, at a different time of the day, different seasons around the year depending upon the personal choices of each individual in the home and with detection with the absence of the people, go on hibernate mode to save energy consumption and again pace itself to maintain the temperature just before the tenants are to return to the home after work. This is what, Machine Learning helps to create. A solution to the problem would be nearly impossible with basic logic cases by the traditional programming.

Machine Learning Process

Data

The data can be raw, structured, and unstructured. It can be in any form as long as, the data are of high quality to work upon.

Data Preparation

In the data preparation phase, the data are cleaned and wrangled and set up for the modeling.

To learn more on ML.NET, watch this video,

Model Training

The models are trained using various algorithms as best suited for the purpose of usage.

Evaluate

The model is tested and evaluated and the process of training and testing is iterated to produce a golden model. With this, a proper higher prediction model is produced for use.

Deploy

They evaluated and tested data is now deployed as per the need of the system.

Introduction To ML.NET

Monitor

The process is monitored over time to integrate over time to retrain the system and better the machine learning system. It is the benefit of the machine learning process, that with more good data, better models can be created, trained, and tested to develop and build higher accuracy models over time.

Introduction To ML.NET

ML.NET can be used for numerous Machine Learning use cases.

Sentiment Analysis

The sentiments of customer reviews can be easily analyzed using classification algorithms such as binary classification algorithm.

Fraud Detection

With features such as anomaly detection in Azure, credit card fraud detection can be easily designed using ML.NET.

Product Recommendation

Product Recommendations are widely and extensively used across e-commerce today from Amazon to even Facebook for ads. With ML.NET similar product recommendation models can be designed and deployed with ease.

Sales Spike Detection

Using anomaly detection, changes in product sales can be detected and the spike of growth on different sections of products can be realized with ease.

Price Detection

Using regression algorithms, price detection for cases such as ride-sharing can be developed based on distance travel with ML.NET.

Object Detection

Using ONNX DNN, the object detection system can be developed and used with ML.NET.

Image Classification

TensorFlow can be used with ML.NET and thus image classifications can be performed with ease. Applications and systems can be developed with these capabilities enabled. To check out the TensorFlow for ML.NET check it out at this GitHub repository.

Customer Segmentation

Groups of customers can be identified using clustering algorithms supported by ML.NET.

Sales Forecasting

Sales of the future can be forecasted using regression algorithms on the past data.

Using ML.NET numerous other scenarios where algorithms such as regression, binary classification, clustering can be used, multitudes of other use case scenarios will be discovered over time.

Summary

In this article, we learned in detail about ML.NET and why it's so special. Machine Learning as a whole is an interesting feat of our generation and it will provide solutions to vast problems in our day-to-day life. ML.NET has enabled over 6 million .NET developers today with Machine Learning and Deep Learning and over time other millions more.

Reference

https://arxiv.org/pdf/1905.05715.pdf


Similar Articles