/machinelearning-samples

Samples for ML.NET, an open source and cross-platform machine learning framework for .NET.

Primary LanguagePowerShellMIT LicenseMIT

ML.NET Samples

ML.NET is a cross-platform open-source machine learning framework that makes machine learning accessible to .NET developers.

In this GitHub repo, we provide samples which will help you get started with ML.NET and how to infuse ML into existing and new .NET apps.

Note: Please open issues related to ML.NET framework in the Machine Learning repository. Please create the issue in this repo only if you face issues with the samples in this repository.

There are two types of samples/apps in the repo:

  • Getting Started : ML.NET code focused samples for each ML task or area, usually implemented as simple console apps.

  • End-End apps : Real world examples of web, desktop, mobile, and other applications infused with Machine Learning using ML.NET

The official ML.NET samples are divided in multiple categories depending on the scenario and machine learning problem/task, accessible through the following tables:

Binary classification
Binary classification chart

Sentiment analysis
C#     F#   Getting started icon
Movie Recommender chart

Spam Detection
C#     F#   Getting started icon
Movie Recommender chart

Fraud detection
C#    F#    Getting started icon
disease detection chart

Heart Disease Prediction
C#   Getting started icon
Multi-class classification
ssue Labeler chart

Issues classification
C#    F#    End-to-end app icon
Movie Recommender chart

Iris flowers classification
C#    F#    Getting started icon
Movie Recommender chart

MNIST
C#     Getting started icon
Recommendation
Product Recommender chart

Product Recommendation
C#Getting started icon
Movie Recommender chart

Movie Recommender
C#    Getting started icon
Movie Recommender chart

Movie Recommender (E2E app)
C#    End-to-end app icon
Regression
Price Prediction chart

Price Prediction
C#     F#   Getting started icon

Sales ForeCasting chart

Sales ForeCasting
C#    End-to-end app icon

Demand Prediction chart

Demand Prediction
C#    F#    Getting started icon
Clustering
Customer Segmentation chart

Customer Segmentation
C#     F#   Getting started icon
IRIS Flowers chart

IRIS Flowers clustering
C#     F#   Getting started icon
Anomaly Detection
spike detection chart

Sales Spike Detection
C#     Getting started icon   C#    End-to-end app icon
Power Anomaly detection chart

Power Anomaly Detection
C#     Getting started icon
Computer Vision
Image Classification chart

Image Classification
(TensorFlow model scoring)
C#     F#    Getting started icon  C#    End-to-end app icon
Image Classification chart

Image Classification
(TensorFlow Estimator)
C#     F#    Getting started icon
Object Detection chart

Object Detection
(ONNX model scoring)
C#    Getting started icon C#    End-to-end app icon



Cross Cutting Scenarios
web image
Scalable Model on WebAPI
C#     End-to-end app icon
Database chart
Training model with Database
C#     Getting started icon
Database chart
Scalable Blazor web app
C#     End-to-end app icon
large file chart
Large Datasets
C#     Getting started icon

Automate ML.NET models generation (Preview state)

The previous samples show you how to use the ML.NET API 1.0 (GA since May 2019).

However, we're also working on simplifying ML.NET usage with additional technologies that automate the creation of the model for you so you don't need to write the code by yourself to train a model, you simply need to provide your datasets. The "best" model and the code for running it will be generated for you.

These additional technologies for automating model generation are in PREVIEW state and currently only support Binary-Classification, Multiclass Classification and Regression. In upcoming versions we'll be supporting additional ML Tasks such as Recommendations, Anomaly Detection, Clustering, etc..

CLI samples: (Preview state)

The ML.NET CLI (command-line interface) is a tool you can run on any command-prompt (Windows, Mac or Linux) for generating good quality ML.NET models based on training datasets you provide. In addition, it also generates sample C# code to run/score that model plus the C# code that was used to create/train it so you can research what algorithm and settings it is using.

CLI (Command Line Interface) samples
Binary Classification sample
MultiClass Classification sample
Regression sample

AutoML API samples: (Preview state)

ML.NET AutoML API is basically a set of libraries packaged as a NuGet package you can use from your .NET code. AutoML eliminates the task of selecting different algorithms, hyperparameters. AutoML will intelligently generate many combinations of algorithms and hyperparameters and will find high quality models for you.

AutoML API samples
Binary Classification sample
MultiClass Classification sample
Regression sample
Advanced experiment sample

Additional ML.NET Community Samples

In addition to the ML.NET samples provided by Microsoft, we're also highlighting samples created by the community shocased in this separated page: ML.NET Community Samples

Those Community Samples are not maintained by Microsoft but by their owners. If you have created any cool ML.NET sample, please, add its info into this REQUEST issue and we'll publish its information in the mentioned page, eventually.

Translations of Samples:

Learn more

See ML.NET Guide for detailed information on tutorials, ML basics, etc.

API reference

Check out the ML.NET API Reference to see the breadth of APIs available.

Contributing

We welcome contributions! Please review our contribution guide.

Community

Please join our community on Gitter Join the chat at https://gitter.im/dotnet/mlnet

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.

License

ML.NET Samples are licensed under the MIT license.