Chris McKelt

.Net developer working across banks, wealth management, insurance, transport, media, lenders,  startups, myself

 

Currently an Engineering Manager @ Bankwest.

 

Disclaimer

Not a data scientist - just an enthusiast

 

 

www.mckelt.com

Machine Learning 101

Machine learning gives computers the ability to learn without being explicitly programmed (Arthur Samuel, 1959).

ML Types

Shallow vs Deep

WTF

Tools of choice for ML

What is ML.Net?

OS machine learning framework for .Net developers

Originally developed by MSFT Research

Used in Windows, Bing, PowerPoint, Excel & more

Current preview release is 0.4 (not officially released yet)

Initial release --> 7th May 2018

Why use ML.Net?

Leverage C#/F# capability

 

Output is .zip file --> easy deployments

 

C#/F# samples range from basic to end to end apps

eShopDashboardML

eShopDashboardML is a web app with Product Sales Forecast predictions using

What can it do?

LightGBM

Their experiments show faster& more accurate than xgboost

From Microsoft Distributed Machine Learning Toolkit

Accord.Net [todo]

Microsoft Cognitive Toolkit [todo]

https://github.com/Microsoft/CNTK

TensorFlow [todo]

https://www.tensorflow.org

ONNX.ai

NuGet

My bank does not give me an overview of spending categories

 

so....

 

My tech itch

Build a model that can predict a category using the transaction description 

Model Building

  1. Retrieve and clean the data
  2. Decide what algorithm to use
  3. Create a ‘Learning Pipeline’ to iterate over the model build process

    • Training

    • Testing
    • Evaluating result metrics
  4. Exploring the output model file

Retrieve the data

Decide what model?

https://docs.microsoft.com/en-us/azure/machine-learning/studio/algorithm-cheat-sheet

Multiclass classification is the problem of classifying instances into one of three or more classes

Banking  Entertainment Food & Drinks
Groceries Health & Beauty Income
Insurance Kids Transport
Holiday  Miscellaneous Work 

Learning pipeline

  1. Loading the data

  2. Transforming the data

  3. Feature extraction/engineering

  4. Configuring a learning model

  5. Training the model

  6. Using the trained model (e.g. to obtain predictions)

 

Code time finally...

Naive Bayes

Stochastic Dual Coordinate Ascent

Fast GBM --> WINNER

Deployment

Questions?

Predicting BS using ML.Net

By chris mckelt

Predicting BS using ML.Net

An overview of ML.net

  • 1,771