Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Machine Learning Simplified for Developers with ML.NET (Global AI Bootcamp 2019)

14 views

Published on

Ever wanted to do machine learning but don't know how to start? Join in me in a journey discovering ML and show you ML.NET Model Builder.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Machine Learning Simplified for Developers with ML.NET (Global AI Bootcamp 2019)

  1. 1. THANK YOU TO ALL THE SPONSORS @Glob_AIBootcamp #GlobalAIBootcampBrisbane Global Sponsors Local Sponsors
  2. 2. Global AI Bootcamp 2019 Machine Learning Simplified for Developers with ML.NET Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  3. 3. Senior Software Architect at SSW Jernej Kavka (JK) @Jernej_kavka github.com/jernejk jkdev.me linkedin.com/in/jernejkavka/ .NET Core and EF Core dev at day Cognitive Services and ML.NET dev at night Join the Conversation @NDC_Conferences #NDCSydney @jernej_kavka
  4. 4. Cognitive Studio - http://bit.ly/CS-Exp
  5. 5. My story ML.NET Model Builder What is machine learning Table of Contents
  6. 6. My goal Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka POS AUTHORISATION DOTNETFOUNDATION ORG REDMOND WA Card Used 0082 COFFEE 7 Melbourne Audible Australia Melbourne Investment Food & Drink Education
  7. 7. Azure ML POS AUTHORISATION DOTNETFOUNDATION ORG REDMOND WA Card Used 0082 COFFEE 7 Melbourne Audible Australia Melbourne Investment Food & Drink Education
  8. 8. Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  9. 9. Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  10. 10. Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  11. 11. 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 @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  12. 12. My goal Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka POS AUTHORISATION DOTNETFOUNDATION ORG REDMOND WA Card Used 0082 COFFEE 7 Melbourne Audible Australia Melbourne Investment Food & Drink Education
  13. 13. My story ML.NET Model Builder What is machine learning Table of Contents
  14. 14. What is Machine Learning?
  15. 15. Machine Learning process Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka Improve Data Training data Model ML Training Desktop and mobile Web IoT Feedback Deploy Usage
  16. 16. Multi-class Classification Binary Classification Classification Regression Supervised Learning (labelled data) Machine Learning Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka Training data: 🍎 => Apple 🍐 => Pear 🍇 => Grape Apple Price over time Is it a fruit? Yes No
  17. 17. Multi-class Classification Binary Classification Dimension Reduction Clustering Unsupervised Learning (unlabelled data) Classification Regression Supervised Learning (labelled data) Machine Learning Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka Training data: 🍎 => Apple 🍐 => Pear 🍇 => Grape Apple 🍐 🍇 Apple price over time Is it a fruit? Yes No Features: • Id • Color • Shape • Company • …
  18. 18. Try Fail Learn Repeat Multi-class Classification Binary Classification Reinforced Learning Dimension Reduction Clustering Unsupervised Learning (unlabelled data) Classification Regression Supervised Learning (labelled data) Machine Learning Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka Training data: 🍎 => Apple 🍐 => Pear 🍇 => Grape Apple 🍐 🍇 Apple price over time Is it a fruit? Yes No Features: • Id • Color • Shape • Company • …
  19. 19. Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka Multi-class Classification Classification Supervised Learning (labelled data) Machine Learning https://docs.microsoft.com/en-us/dotnet/machine- learning/resources/tasks
  20. 20. https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  21. 21. Try Fail Learn Repeat Multi-class Classification Binary Classification Reinforced Learning Dimension Reduction Clustering Unsupervised Learning (unlabelled data) Classification Regression Supervised Learning (labelled data) Machine Learning Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka Training data: 🍎 => Apple 🍐 => Pear 🍇 => Grape Apple 🍐 🍇 Apple price over time Is it a fruit? Yes No Features: • Id • Color • Shape • Company • …
  22. 22. How do I start? • Start with a scenario Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  23. 23. Scenarios • Is Tweet positive? • Binary classification • Categorize bank transactions • Multi-class classification • House price predictions • Regression • Product recommendation • Clustering Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  24. 24. Caveats • ML won’t magically solve your problem • Understand your data • Guide ML toward right solution • Start with something simple (classification) Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  25. 25. My story ML.NET Model Builder What is machine learning Table of Contents
  26. 26. Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  27. 27. ML.NET scenarios Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  28. 28. Build model (acquire knowledge) Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka Training data Model ML Training
  29. 29. Build model (acquire knowledge) Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka Training data Model ML Training
  30. 30. ML.NET Model Builder • Wizard built on top of ML.NET SDK • Picks best trainer for given scenario and data • Can be different one as the data changes over time • Allows quick prototyping Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  31. 31. https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotnet/model-builder Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  32. 32. Let’s do it Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka POS AUTHORISATION DOTNETFOUNDATION ORG REDMOND WA Card Used 0082 COFFEE 7 Melbourne Audible Australia Melbourne Investment Food & Drink Education
  33. 33. Training data preparation Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka Manual classification
  34. 34. Training data (CSV) Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  35. 35. Demo
  36. 36. Summary • Import CSV file • Tweak columns to get better results • Generate project with ML • Tweaking generated code • Minor issues with small datasets (100+ rows) Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka
  37. 37. More details - http://bit.ly/jk-ml-interview-blog
  38. 38. Goal achieved 🍾🎉 Join the Conversation @Glob_AIBootcamp #GlobalAIBootcampBrisbane @jernej_kavka POS AUTHORISATION DOTNETFOUNDATION ORG REDMOND WA Card Used 0082 COFFEE 7 Melbourne Audible Australia Melbourne Investment Food & Drink Education
  39. 39. Thank you! @Jernej_kavka http://bit.ly/jk-ml-interview-blog info@ssw.com.au www.ssw.com.au Sydney | Melbourne | Brisbane | Canberra

×