Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Integrating Scikit-learn ML Models with ML.NET using ONNX

Miodrag
February 16, 2022

Integrating Scikit-learn ML Models with ML.NET using ONNX

Integrating Scikit-learn Machine Learning models into the Microsoft .NET ecosystem using Open Neural Network Exchange (ONNX) format

Miodrag

February 16, 2022
Tweet

More Decks by Miodrag

Other Decks in Technology

Transcript

  1. >whoami Miodrag Cekikj Senior .NET Software Dev ML Researcher &

    Enthusiast Technical Trainer Macedonian .NET Community member 2 https://www.linkedin.com/in/miodragcekikj/ https://medium.com/@cekikjmiodrag https://www.researchgate.net/profile/Miodrag-Cekikj https://speakerdeck.com/mcekic https://github.com/mcekikj
  2. Session Roadmap 3 1 3 5 6 4 2 Cover

    Story ONNX in the picture Integration Demo From Idea to Prototype Dataset Overview Key Takeaways
  3. “ There is no single development, in either technology or

    management technique, which by itself promises even one order-of-magnitude improvement within a decade in productivity, in reliability, in simplicity. Fred Brooks 4 Article source: http://worrydream.com/refs/Brooks-NoSilverBullet.pdf
  4. Lead Scoring ▷ Shared sales and marketing methodology used to

    rank leads to describe their potential of sales readiness to the company. 6 Image source: https://clickdimensions.com/products/how-to-create-a-lead-scoring-strategy/
  5. Lead Conversion Process Clients Converted into a paying customer Leads

    Businesses or people who can eventually turn into clients Hot Leads Highly interested in product/service 7
  6. Why ML after all? ▷ Generating big amount of data

    ▷ Digital marketing ▷ Lead generation ▷ Sales ▷ Predetermined structured format ▷ Leveraging on the history of generated data 8
  7. Why ML after all? ▷ Improving and boosting the process

    and rates of lead conversions ▷ Additional in-depth insights ◦ ML model interpretability 9
  8. Automated Lead Generation Providing a complementary and an easy-peasy tool

    for making the lead generation process more performant and efficient… 11
  9. 12 CRM RDBM S FILE(S) API Data Understanding Data Cleaning

    Exploratory Data Analysis Data Preparation Marketing & Sales Teams (Data insights Report) Data Processing Data Sources ML Algorithms & Pipelines ML Models Evaluation ML Models Fine Tuning ML Model Building ML Model Summary (Features Interpretation) Team .xlsx .csv Internal System(s) External System(s) DB File API ML Statistics & Reporting System Client Environment/Ecosystem Newly Generated Data Production Environment Technical Stats & Audit Deploy ML Driven Component Connection Adapter Input Data for newly generated data (Marketing/Sales teams) Lead Score Lead Decision
  10. ONNX ▷ Open Neural Network Exchange (ONNX) is an open

    file format standard representing the machine learning models. ▷ Framework-agnostic standard - it is built as a solution for providing unique format interoperability. ▷ Official website: https://onnx.ai/ ▷ GitHub: https://github.com/onnx ▷ Tutorials: https://github.com/onnx/tutorials 14
  11. ONNX Runtime ▷ ONNX Runtime is a cross-platform and high-

    performance engine providing a set of different APIs for working and integrating to different target environments. ▷ Official website: https://onnxruntime.ai/ ▷ GitHub: https://github.com/microsoft/onnxruntime ▷ Tutorials: https://onnxruntime.ai/docs/tutorials/ 15
  12. Dataset ▷ Lead Scoring Dataset available on Kaggle ◦ https://www.kaggle.com/amritachatterjee09/lead-scoring-dataset

    ▷ Historical data retrieved by the marketing/sales teams for the company named X Education. ▷ Online learning platform, where many professionals/students can find interest and participate in one or multiple courses. ▷ Data is generated using different sources, like web pages, landing pages, forms, etc. 18
  13. Dataset ▷ Prerequisites ◦ Data Cleaning ◦ Exploratory Data Analysis

    (EDA) ◦ Data Preparation ▷ Supervised machine learning approach ◦ Regression -> Lead Scoring scenario ◦ Classification -> Lead Decision scenario 19
  14. Demo prerequisites ▷ > conda --version 4.10.3 ▷ > jupyter

    notebook --version 6.0.3 ▷ > sklearn.__version__ 0.23.1 ▷ > python --version 3.8.3 ▷ > dotnet --version 6.0.100 ▷ > skl2onnx.__version__ 1.9.0 ▷ > onnxruntime.__version__ 1.8.1 21
  15. Wrap Up Addressing Discrepancy Tools & Frameworks gaps Framework agnostic

    ONNX models across the most popular ML frameworks Cross-platform runtime engine ONNX Runtime provides a set of different APIs targeting different environments 23
  16. Credits ▷ This template is free to use under Creative

    Commons Attribution license. ▷ The images are free for use according the public license of Unsplash. 26