Hands-On Machine Learning for .NET Developers

Video description

ML.NET enables developers utilize their .NET skills to easily integrate machine learning into virtually any .NET application. This course will teach you how to implement machine learning and build models using Microsoft's new Machine Learning library, ML.NET. You will learn how to leverage the library effectively to build and integrate machine learning into your .NET applications.

By taking this course, you will learn how to implement various machine learning tasks and algorithms using the ML.NET library, and use the Model Builder and CLI to build custom models using AutoML.

You will load and prepare data to train and evaluate a model; make predictions with a trained model; and, crucially, retrain it. You will cover image classification, sentiment analysis, recommendation engines, and more! You'll also work through techniques to improve model performance and accuracy, and extend ML.NET by leveraging pre-trained TensorFlow models using transfer learning in your ML.NET application and some advanced techniques.

By the end of the course, even if you previously lacked existing machine learning knowledge, you will be confident enough to perform machine learning tasks and build custom ML models using the ML.NET library.

What You Will Learn

  • Quickly implement machine learning algorithms directly within your current cross-platform .Net applications, such as ASP.Net
  • Web.APIs, desktop applications, and Dotnet core console apps
  • Use the advances in machine learning with models customized to your needs
  • Automatically evaluate different machine learning models fast using AutoML, Model Builder, and CLI tools
  • Improve and retrain your models for better performance and accuracy
  • Basic overview of machine learning through a hands-on approach
  • Use different machine learning algorithms to solve problems such as sentiment prediction, document classification, image recognition, product recommender systems, price predictions, and Bitcoin price forecasting
  • Data loading and preparation for model training
  • Leverage state of the art TensorFlow and ONNX models directly in .NET

Audience

This course is for .NET developers who want to implement custom machine learning models using ML.NET and ML developers who are looking for effective tools to implement various machine learning algorithms. This course is also suitable for data scientists who want to implement machine learning in .Net. Prior knowledge (and a basic understanding) of C# and .Net are necessary. However, prior machine learning knowledge or learning Python are not required.

About The Author

Karl Tillström: Karl Tillstrm has been passionate about making computers do amazing things ever since childhood and is strongly driven by the magic possibilities you can create using programming. This makes advances in machine learning and AI his holy grail; since he took his first class in artificial neural networks in 2007, he has experimented with machine learning by building all sorts of things, ranging from Bitcoin price prediction to self-learning Gomoku playing AI.

Karl is a software engineer and systems architect with over 15 years' professional experience in .Net, building a wide variety of systems ranging from airline mobile check-ins to online payment systems.

Driven by his passion, he took a Master's degree in Computer Science and Engineering at the Chalmers University of Technology, a top university in Sweden.

Follow him and learn more at: https://www.machinelearningfordevelopers.com.

Table of contents

  1. Chapter 1 : Finding the Best Price on Laptops Using Price Prediction (Regression)
    1. The Course Overview
    2. Demo of the Application and How to Apply Machine Learning
    3. Installing the ML.NET Model Builder
    4. Automatically Generate a Model with the ML.NET Model Builder
    5. Using the Final Model in the Desktop Application
    6. Generating the Model Using the ML.NET CLI Tool
  2. Chapter 2 : Determining Aggression in User Comments
    1. Demo of the Web API and the Wikipedia Aggression Dataset
    2. Digging into the Code Learn What a Training Pipeline Is
    3. Implementing a Pipeline for the Aggression Scorer
    4. Using the Custom Model in the Web API
  3. Chapter 3 : Evaluating, Improving, and Retraining Your Model
    1. Evaluating Your Model
    2. Splitting the Data into Training and Test Sets
    3. Retraining the Model with More Data
    4. Evaluating with Cross-Validation
  4. Chapter 4 : Classifying News into Subjects
    1. Multiclass Classification and the UCI News Dataset
    2. Using AutoML to Find a Suitable Model
    3. Building the Pipeline and Evaluating the Performance
    4. Explore the Effect of Imbalanced Data on the Metrics
  5. Chapter 5 : Building a Recommender System
    1. The Restaurant Recommender
    2. Building the Restaurant Recommendation Model
    3. Exploring Hyper Parameters to Improve the Accuracy
  6. Chapter 6 : Classifying Images Using TensorFlow "Transfer Learning"
    1. Image Classification and Our Dataset
    2. Deep Learning and Transferring Learnings from TensorFlow
    3. Training the Custom Image Classification Model
    4. Using the Trained Model in the Desktop Application
    5. Speeding Up Model Training Using the GPU
  7. Chapter 7 : Detecting Facial Expressions in Your Webcam with a Pre-Trained ONNX Model
    1. What ONNX Is
    2. The FER+ ONNX Model
    3. Creating Our ONNX Pipeline
    4. Detecting Emotions in Images and Webcam
    5. Saving a ML.NET Model in ONNX Format

Product information

  • Title: Hands-On Machine Learning for .NET Developers
  • Author(s): Karl Tillström
  • Release date: June 2020
  • Publisher(s): Packt Publishing
  • ISBN: 9781800205024