際際滷

際際滷Share a Scribd company logo
1 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
.NET Developers
Machine Learning for
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 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.
4 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
1. ML .NET Overview
2. ML .NET Competition
3. Machine Learning Overview
4. Demos
Agenda
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 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 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 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 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 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 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 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.
13 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
ML .NET
DEMOSLETS GET IN THE CODE
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
15 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Data
16 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Training - Main
17 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Training - PrepDataSets
18 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Training  TrainModel (1 of 2)
19 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Training  TrainModel (2 of 2)
20 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Prediction - RunPrediction
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
22 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Training - Main
23 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Training  Prepare Data
24 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Training  Train and Evaluate
25 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Training  Predict
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
27 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Training - Main
28 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Training  Image Prep
29 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Training  Train Model
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
31 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Training  Train Model
32 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Prediction - Main
33 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
The Prediction  Create Clusters
34 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
Find these Samples and More:
https://github.com/dotnet/machinelearning-
samples/tree/master/samples/csharp/getting-started
35 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter
Questions?
linkedin.com/in/CameronVetter
www.cameronvetter.com

More Related Content

Ml.net machine learning for .net developers!

  • 1. 1 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter .NET Developers Machine Learning for
  • 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.
  • 4. 4 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter 1. ML .NET Overview 2. ML .NET Competition 3. Machine Learning Overview 4. Demos Agenda
  • 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.
  • 13. 13 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter ML .NET DEMOSLETS GET IN THE CODE
  • 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
  • 15. 15 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Data
  • 16. 16 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Training - Main
  • 17. 17 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Training - PrepDataSets
  • 18. 18 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Training TrainModel (1 of 2)
  • 19. 19 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Training TrainModel (2 of 2)
  • 20. 20 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Prediction - RunPrediction
  • 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
  • 22. 22 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Training - Main
  • 23. 23 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Training Prepare Data
  • 24. 24 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Training Train and Evaluate
  • 25. 25 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Training Predict
  • 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
  • 27. 27 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Training - Main
  • 28. 28 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Training Image Prep
  • 29. 29 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Training Train Model
  • 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
  • 31. 31 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Training Train Model
  • 32. 32 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Prediction - Main
  • 33. 33 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter The Prediction Create Clusters
  • 34. 34 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter Find these Samples and More: https://github.com/dotnet/machinelearning- samples/tree/master/samples/csharp/getting-started
  • 35. 35 www.cameronvetter.comc C@poshporcupine Linkedin.com/in/cameronvetter Questions? linkedin.com/in/CameronVetter www.cameronvetter.com

Editor's Notes

  • #11: In this example of classifying spam. Spam is coded as 1.0 and a regular email as -1.0.
  • #15: https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/getting-started/AnomalyDetection_CreditCardFraudDetection
  • #16: Already normalized by mean and variance from -1.0 to 1.0
  • #19: Concatenate creates a vector for each row that becomes features column
  • #20: Concatenate creates a vector for each row that becomes features column
  • #22: https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/getting-started/Regression_TaxiFarePrediction
  • #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
  • #27: https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/getting-started/DeepLearning_TensorFlowEstimator
  • #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.
  • #31: https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/getting-started/Clustering_CustomerSegmentation
  • #34: https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/getting-started