Do you want to try machine learning, but don't want to invest too much time learning a new programming language or some other complicated API?
Microsoft recently launched ML.NET 1.1 which is a great entry point for .NET developers and to gain experience building something with Machine Learning.
With the recent release of ML.NET Model Builder, we can create machine learning models by attempting to import raw data first and over time curate the data, to get better results.
I will show you how ML.NET works, how to leverage Model Builder, experiment with training data and what to watch out for when building models.
You can watch original YouTube video here: https://www.youtube.com/watch?v=LG1DHMNT0TA
2. ALT.NET Melbourne User Group 2019
Machine Learning
Simplified for Developers with
ML.NET
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
3. SSW Senior Software Architect
Jernej Kavka (JK)
@Jernej_kavka
https://github.com/jernejk
https://jkdev.me
https://opencollective.com/jernej-kavka
Focusing on .NET Core and Cognitive Services
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
10. My goal
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
POS AUTHORISATION DOTNETFOUNDATION
ORG REDMOND WA Card Used 0082
COFFEE 7 Melbourne
Audible Australia Melbourne
Investment
Food & Drink
Education
11.
12. ML.NET
• MS machine learning SDK that works offline
• Simple yet powerful
• Used in PowerBI, Outlook, Visual Studio…
• Support major ML models
• TensorFlow
• ONNX
• Awesome samples on GitHub
• https://github.com/dotnet/machinelearning-samples
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
14. Machine Learning process
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
Improve
Data
Training data Model
ML Training
Desktop and mobile
Web
IoT
Feedback
Usage
21. How do I start?
• Start with a scenario
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
22. Scenarios
• Is Tweet positive?
• Binary classification
• Categorize bank transactions
• Multi-class classification
• House price predictions
• Regression
• Product recommendation
• Clustering
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
23. Caveats
• ML is not magic
• It won’t magically solve your problem
• Understand your data
• Guide ML toward right solution
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
24. Example
You have traffic and incident data
Reserve tow trucks
✔ Predict number of tow trucks needed on Friday
❌ Predict exact time and location when tow trucks are
needed
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
28. Build model (acquire knowledge)
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
Training data Model
ML Training
29. ML.NET Model Builder
• Wizard built on top of ML.NET
• Picks best trainer for given scenario and data
• Can be different one as the data changes over time
• Allows quick prototyping
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
31. Let’s do it
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
POS AUTHORISATION DOTNETFOUNDATION
ORG REDMOND WA Card Used 0082
COFFEE 7 Melbourne
Audible Australia Melbourne
Investment
Food & Drink
Education
43. Summary
• Import CSV file
• Tweak columns to get better results
• Generate project with ML
• Use ML model
• Minor issues with small datasets
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
44. Goal achieved 🍾🎉
Join the Conversation #melbaltnet @jernej_kavka https://jkdev.me
POS AUTHORISATION DOTNETFOUNDATION
ORG REDMOND WA Card Used 0082
COFFEE 7 Melbourne
Audible Australia Melbourne
Investment
Food & Drink
Education
Where and why ML.NET is being used.
History?
Alternatives. Cognitive Services, PowerBI, Google TensorFlow
Where do you get ML.NET, show ML.NET GitHub, Model Builder
Other Microsoft ML stuff?
Cognitive Services
Custom Machine Learning
Custom Vision
Azure Machine Learning
ML.NET
CNNX
Where is ML.NET being used.
Where and why ML.NET is being used.
History?
Alternatives. Cognitive Services, PowerBI, Google TensorFlow
Where do you get ML.NET, show ML.NET GitHub, Model Builder
Maybe split into Why and What.
Introduction to training
Maybe split into Why and What.
Highlight the parts ML.NET can do.
https://towardsdatascience.com/machine-learning-types-2-c1291d4f04b1
Highlight the parts ML.NET can do.
https://towardsdatascience.com/machine-learning-types-2-c1291d4f04b1
Highlight the parts ML.NET can do.
https://towardsdatascience.com/machine-learning-types-2-c1291d4f04b1
Highlight the parts ML.NET can do.
https://towardsdatascience.com/machine-learning-types-2-c1291d4f04b1
Highlight the parts ML.NET can do.
https://towardsdatascience.com/machine-learning-types-2-c1291d4f04b1
Highlight the parts ML.NET can do.
https://towardsdatascience.com/machine-learning-types-2-c1291d4f04b1
Highlight the parts ML.NET can do.
https://towardsdatascience.com/machine-learning-types-2-c1291d4f04b1
Highlight the parts ML.NET can do.
https://towardsdatascience.com/machine-learning-types-2-c1291d4f04b1
Highlight the parts ML.NET can do.
https://towardsdatascience.com/machine-learning-types-2-c1291d4f04b1
Highlight the parts ML.NET can do.
https://towardsdatascience.com/machine-learning-types-2-c1291d4f04b1
Highlight the parts ML.NET can do.
https://towardsdatascience.com/machine-learning-types-2-c1291d4f04b1
Highlight the parts ML.NET can do.
https://towardsdatascience.com/machine-learning-types-2-c1291d4f04b1
Where and why ML.NET is being used.
History?
Alternatives. Cognitive Services, PowerBI, Google TensorFlow
Where do you get ML.NET, show ML.NET GitHub, Model Builder