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.

Simplified Machine Learning for Developers with ML.NET

97 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Simplified Machine Learning for Developers with ML.NET

  1. 1. Join the Conversation #NETUG @jernej_kavka https://jkdev.me v4
  2. 2. Full Stack User Group 2019 Sydney Machine Learning Simplified for Developers with ML.NET Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  3. 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 #NETUG @jernej_kavka https://jkdev.me
  4. 4. Real-time Face Recognition With Microsoft Cognitive Services
  5. 5. My story ML.NET Model Builder What is machine learning Table of Contents
  6. 6. Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  7. 7. My goal Join the Conversation #NETUG @jernej_kavka https://jkdev.me POS AUTHORISATION DOTNETFOUNDATION ORG REDMOND WA Card Used 0082 COFFEE 7 Melbourne Audible Australia Melbourne Investment Food & Drink Education
  8. 8. Azure ML POS AUTHORISATION DOTNETFOUNDATION ORG REDMOND WA Card Used 0082 COFFEE 7 Melbourne Audible Australia Melbourne Investment Food & Drink Education
  9. 9. Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  10. 10. My goal Join the Conversation #NETUG @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. 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 #NETUG @jernej_kavka https://jkdev.me
  12. 12. My story ML.NET Model Builder What is machine learning Table of Contents
  13. 13. Machine Learning • Process • Build model (acquire knowledge) • Use model (make decision) • Can solve complex problems • Can adapt over time • Results are probabilistic Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  14. 14. Build model (acquire knowledge) Join the Conversation #NETUG @jernej_kavka https://jkdev.me Training data Model ML (Training algorithm)
  15. 15. Use model (make decision) Join the Conversation #NETUG @jernej_kavka https://jkdev.me Input Model Prediction
  16. 16. Different kinds of ML • Neural networks Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  17. 17. Different kinds of ML • Neural networks • Linear Regression Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  18. 18. Different kinds of ML • Neural networks • Linear Regression • Genetic algorithm Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  19. 19. Different kinds of ML • Neural networks • Linear Regression • Genetic algorithm • Decision trees • … Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  20. 20. Supervised Learning Machine Learning Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  21. 21. • Bank Transaction Categorization • Image Classification • Customer Retention • Diagnostics Classification Supervised Learning Machine Learning Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  22. 22. • Advertising Popularity Prediction • Weather Forecasting • Market Forecasting • Estimating Life Expectancy • Population Growth Prediction • Bank Transaction Categorization • Image Classification • Customer Retention • Diagnostics Classification Regression Supervised Learning Machine Learning Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  23. 23. Unsupervised Learning • Advertising Popularity Prediction • Weather Forecasting • Market Forecasting • Estimating Life Expectancy • Population Growth Prediction • Bank Transaction Categorization • Image Classification • Customer Retention • Diagnostics Classification Regression Supervised Learning Machine Learning Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  24. 24. • Meaningful Compression • Big Data Visualization • Structure Discovery • Feature Elicitation Dimensionality Reduction Unsupervised Learning • Advertising Popularity Prediction • Weather Forecasting • Market Forecasting • Estimating Life Expectancy • Population Growth Prediction • Bank Transaction Categorization • Image Classification • Customer Retention • Diagnostics Classification Regression Supervised Learning Machine Learning Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  25. 25. • Game AI • Skill Acquisition • Learning Tasks • Robot Navigation • Real-time Decisions Reinforcement Learning • Recommender Systems • Targeted Marketing • Customer Segmentation Clustering • Meaningful Compression • Big Data Visualization • Structure Discovery • Feature Elicitation Dimensionality Reduction Unsupervised Learning • Advertising Popularity Prediction • Weather Forecasting • Market Forecasting • Estimating Life Expectancy • Population Growth Prediction • Bank Transaction Categorization • Image Classification • Customer Retention • Diagnostics Classification Regression Supervised Learning Machine Learning Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  26. 26. • Bank Transaction Categorization Classification Supervised Learning Machine Learning Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  27. 27. Scenarios • Is Tweet positive? • Binary classification • Categorize bank transactions • Multi-class classification • House price predictions • Regression • Product recommendation • Matrix factorization Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  28. 28. Example – classify type of beer • Multi-class classification • Color of beer • Predict type • Pale ale • IPA • Dark ale • … Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  29. 29. Example – predict usage 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 #NETUG @jernej_kavka https://jkdev.me
  30. 30. What do I really need to know? • Understand your scenario • Understand your data • Will not magically solve problems • If you can’t predict, ML will probably struggle as well* Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  31. 31. My story ML.NET Model Builder What is machine learning Table of Contents
  32. 32. Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  33. 33. ML.NET scenarios Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  34. 34. Build model (acquire knowledge) Join the Conversation #NETUG @jernej_kavka https://jkdev.me Training data Model ML (Training algorithm)
  35. 35. 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 #NETUG @jernej_kavka https://jkdev.me
  36. 36. https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotnet/model-builder Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  37. 37. Let’s do it Join the Conversation #NETUG @jernej_kavka https://jkdev.me POS AUTHORISATION DOTNETFOUNDATION ORG REDMOND WA Card Used 0082 COFFEE 7 Melbourne Audible Australia Melbourne Investment Food & Drink Education
  38. 38. Training data preparation Join the Conversation #NETUG @jernej_kavka https://jkdev.me Manual classification
  39. 39. Training data (CSV) Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  40. 40. Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  41. 41. Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  42. 42. Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  43. 43. Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  44. 44. Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  45. 45. Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  46. 46. Demo
  47. 47. 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 #NETUG @jernej_kavka https://jkdev.me
  48. 48. Goal achieved 🍾🎉 Join the Conversation #NETUG @jernej_kavka https://jkdev.me POS AUTHORISATION DOTNETFOUNDATION ORG REDMOND WA Card Used 0082 COFFEE 7 Melbourne Audible Australia Melbourne Investment Food & Drink Education
  49. 49. Join the Conversation #NETUG @jernej_kavka https://jkdev.me
  50. 50. Thank you! https://jkdev.me @Jernej_kavka info@ssw.com.au www.ssw.com.au Sydney | Melbourne | Brisbane | Canberra | Gold Coast

×