

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
- Retrieve and clean the data
- Decide what algorithm to use
-
Create a ‘Learning Pipeline’ to iterate over the model build process
-
Training
- Testing
- Evaluating result metrics
-
- 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
-
Loading the data
-
Transforming the data
-
Feature extraction/engineering
-
Configuring a learning model
-
Training the model
-
Using the trained model (e.g. to obtain predictions)
Code time finally...
Naive Bayes
Stochastic Dual Coordinate Ascent
Fast GBM --> WINNER
Deployment
Questions?
