Machine Learning is quickly becoming a ubiquitous technology and expected skill of development teams. Python has dominated this space with all of the best libraries and tooling. As a .NET developer, you need to not only understand the terminology and techniques, but also learn a new language. ML.NET provides an alternative allowing you to do some Machine Learning in C#.
This talk will be code heavy, focused on showing as many demos as possible showing how these tools can be used effectively to bring Machine Learning to your .NET team. The topics covered will include:
Brief machine learning terminology primer
Primer on ML.NET and how it compares to other popular tools
Demos of Classification, Regression, Deep Learning Image Classification, and Clustering
You'll leave with an understanding of ML.NET, how ML .NET can be used in your applications, and some exposure to the structure of working ML.NET solutions.
2. 2 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
Cameron Vetter
Principal Architect
I am a technologist with 20 years of experience using Microsoft tools and technologies to develop software. I have
experience in many roles including Development, Architecture, Infrastructure, Management, and Leadership
roles.
I have worked for some of the largest companies in the world as well as small companies getting a breadth of
experience helping them understand the needs of different size businesses and different industries. I am the
Principal Architect at the Octavian Technology Group, where I help clients develop Technical Strategies. I also
help clients Architect, Design, and Develop software focusing on Deep Learning / Machine Learning, Cloud
Architecture, Mixed Reality, and Azure.
I enjoy sharing what Ive learned during the past 20 years by speaking at national, regional and local conferences,
including THAT Conference, Microsoft Ignite, The Midwest Architect Community Conference, Milwaukee Code
Camp and at various technology user groups. I recently received my second Microsoft MVP award for my
evangelism work around Deep Learning in Azure.
In 2019, I was proud to be named a Microsoft MVP for Artificial Intelligence (AI) one of the first such
honorees in the U.S. and received my second MVP award in 2020. Recently I teamed up with other MVPs from
around the world to write a book about machine learning, which was released earlier this year.
Im also the co-organizer of the Milwaukee Azure User Group and run the Milwaukee Global AI Group, which is
known to draw more than 5,000 participants from cities around the world.
3. 3 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
Your Partner in Success
Where I Work
Our team offers decades of combined experience in
technology-related fields, and we leverage our
expertise to take a business-focused approach to
helping organizations solve real problems with proven
solutions.
Octavian TG offers Cloud Architecture, Mixed Reality
Development, BI + Data Analytics, Machine Learning,
and Fractional CxO Services.
5. 5 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
ML .NET
ML.NET is a free, open-source,
cross-platform machine
learning framework made
specifically for .NET developers.
B
6. 6 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
ML .NET
With ML.NET, you can develop
and integrate custom machine
learning models into your .NET
applications, without needing
prior machine learning
experience.
B
7. 7 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
ML .NET
ML.NET is an extensible
platform, with tooling in Visual
Studio as well as a cross-
platform CLI, that powers
recognized Microsoft features.
B
8. 8 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
Other Frameworks
The Competition in the Python World
Tensorflow PyTorch
Keras Caffe Scikit Learn
CNTK
9. 9 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
9
Decision Trees
Clustering
Deep Neural Networks
There are 100s of methodologies used in machine learning. These three we will talk
about today are some of the most popular in production scenarios.
High Level Machine Learning Methods
Relevant to ML .NET
10. 10 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
Decision Trees
In a decision tree each node makes a calculation to determine
which path to follow in the tree until it reaches a leaf.
11. 11 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
Clustering
Clustering is finding data with n number of characteristics and
grouping them by those characteristics.
12. 12 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
Deep Neural Networks
A neural network is a series of nodes connected together to create
a rough and simplistic approximation of the human brain.
14. 14 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
02
01 03
Classification
Binary classification of transaction
to detect credit card fraud
D
Regression
Predict Taxi fair based on
historical data
b
Image Classification
Flower classification of images of
flowers.
i
Clustering
Identify groups of customer with
similar profiles
E
04
21. 21 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
02
01 03
Classification
Binary classification of transaction
to detect credit card fraud
D
Regression
Predict Taxi fair based on
historical data
b
Image Classification
Flower classification of images of
flowers.
i
Clustering
Identify groups of customer with
similar profiles
E
04
26. 26 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
02
01 03
Classification
Binary classification of transaction
to detect credit card fraud
D
Regression
Predict Taxi fair based on
historical data
b
Image Classification
Flower classification of images of
flowers.
i
Clustering
Identify groups of customer with
similar profiles
E
04
30. 30 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
02
01 03
Classification
Binary classification of transaction
to detect credit card fraud
D
Regression
Predict Taxi fair based on
historical data
b
Image Classification
Flower classification of images of
flowers.
i
Clustering
Identify groups of customer with
similar profiles
E
04
#25: stochastic dual coordinate ascent method
Evaluate the actual taxi fair compared to what is predicted and compute the R Squared which is then displayed
#29: In this model, we use theInception modelas afeaturizer(the model is already stored in theassets folder). This means that the model will process input images through the neural network, and then it will use the output of the tensor which precedes the classification. This tensor contains theimage features, which allows to identify an image.