/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.

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 table:

ML Task

Description

Scenarios

Binary classification

Binary classification chart
Task of classifying the elements of a given set into two groups, predicting which group each one belongs to.

Sentiment analysis     C#     F#   Getting started icon

Spam Detection     C#   Getting started icon

Fraud detection    C#    Getting started icon

Multi-class classification

Multi-class classification
Task of classifying instances into one of three or more classes, predicting which group each one belongs to.

Issues classification     C#    End-to-end app icon

Iris flowers classification    C#    F#    Getting started icon

Regression

regression icon
The task is to predict a numeric value with given input variable data. It is widely used for forecasting and 'how much / how many' predictions.

Price prediction     C#     F#   Getting started icon

Sales forecast     C#    End-to-end app icon

Demand prediction     C#    Getting started icon

Recommendation

Recommendations icon
Recommender systems are typically based on content based and collaborative filtering methods. A collaborative method predicts what items/products a user might like based on his past actions/likes/ratings compared to other users.

Movie recommender     C#    Getting started icon C#    End-to-end app icon

Product recommender     C#Getting started icon

Clustering

Clustering plotting
ML task of grouping a set of objects in such a way that objects in the same group (called a cluster) are more similar to each other than to those in other groups. It is an exploratory task. It does not classify items across particular labels.

Customer segmentation     C#    Getting started icon

Clustering Iris flowers     C#     F#   Getting started icon

Anomaly detection

anomaly detection chart
Task's goal is the identification of rare items, events or observations which raise suspicions by differing significantly from the majority of the data.Usually problems such as bank fraud, structural defects or medical problems

Coming soon

Ranking

Ranking logo
Construction of ranking models for information retrieval systems so the items are ordered/ranked based on user's input variables such as likes/dislike, context, interests, etc.

Coming soon

Deep Learning

DeepLearning logo
Deep learning is a subset of machine learning. Deep learning architectures such as deep neural networks, are usually applied to fields such as computer vision (object detection, image classification, style transfer), speech recognition, natural language processing and audio recognition.

TensorFlow with ML.NET    C#    Getting started icon

Object detection Coming soon    Getting started icon

Style Transfer Coming soon    End-to-end app icon

ONNX with ML.NET - Coming soon    Getting started icon

NuGet feed configuration: Usually you just need to use the regular NuGet feed (https://api.nuget.org/v3/index.json), however, during a few days before releasing a minor release (such as 0.8, 0.9 etc.) we'll be using Preview NuGet packages available in MyGet (such as 0.8.0-preview-27128-1), not available in the regular NuGet feed.

If that is the case, please use this MyGet feed in Visual Studio or your NuGet feed configuration:

https://dotnet.myget.org/F/dotnet-core/api/v3/index.json


Additional 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.