# ML.NET

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/ML.NET
> Markdown URL: https://mediated.wiki/source/ML.NET.md
> Source: https://en.wikipedia.org/wiki/ML.NET
> Source revision: 1349193203
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Machine learning library

ML.NET Original author Microsoft Developer .NET Foundation Release 7 May 2018; 8 years ago (2018-05-07)[1] Stable release 3.0.0 / 28 November 2023; 2 years ago (2023-11-28) Preview release 3.0.0-preview.23511.1 / 14 October 2023; 2 years ago (2023-10-14) Written in C# and C++ Operating system Linux, macOS, Windows[2] Platform .NET Core, .NET Framework Type Machine learning library License MIT License[3] Website dot.net/ml Repository github.com/dotnet/machinelearning/

**ML.NET** is a [free software](/source/Free_software) [machine learning](/source/Machine_learning) [library](/source/Library_(computing)) for the [C#](/source/C_Sharp_(programming_language)) and [F#](/source/F_Sharp_(programming_language)) programming languages.[4][5][6] It also supports [Python](/source/Python_(programming_language)) models when used together with NimbusML. The preview release of ML.NET included transforms for [feature engineering](/source/Feature_engineering) like [n-gram](/source/N-gram) creation, and learners to handle binary classification, multi-class classification, and regression tasks.[7] Additional ML tasks like anomaly detection and recommendation systems have since been added, and other approaches like deep learning will be included in future versions.[8][9]

## Machine learning

ML.NET brings model-based Machine Learning analytic and prediction capabilities to existing .NET developers. The framework is built upon .NET Core and .NET Standard inheriting the ability to run cross-platform on [Linux](/source/Linux), [Windows](/source/Windows) and [macOS](/source/MacOS). Although the ML.NET framework is new, its origins began in 2002 as a Microsoft Research project named TMSN ([text mining](/source/Text_mining) search and navigation) for use internally within Microsoft products. It was later renamed to TLC (the learning code) around 2011. ML.NET was derived from the TLC library and has largely surpassed its parent says Dr. James McCaffrey, Microsoft Research.[10]

Developers can train a Machine Learning Model or reuse an existing Model by a 3rd party and run it on any environment offline. This means developers do not need to have a background in Data Science to use the framework. Support for the [open-source](/source/Open-source_software) Open Neural Network Exchange ([ONNX](/source/Onnx)) [Deep Learning](/source/Deep_Learning) model format was introduced from build 0.3 in ML.NET. The release included other notable enhancements such as Factorization Machines, [LightGBM](/source/LightGBM), Ensembles, LightLDA transform and OVA.[11] The ML.NET integration of [TensorFlow](/source/TensorFlow) is enabled from the 0.5 release. Support for x86 & x64 applications was added to build 0.7 including enhanced recommendation capabilities with Matrix Factorization.[12] A full roadmap of planned features have been made available on the official GitHub repo.[13]

The first stable 1.0 release of the framework was announced at [Build (developer conference)](/source/Build_(developer_conference)) 2019. It included the addition of a Model Builder tool and [AutoML](/source/Automated_machine_learning) (Automated Machine Learning) capabilities.[14] Build 1.3.1 introduced a preview of Deep Neural Network training using C# bindings[15] for Tensorflow and a Database loader which enables model training on databases. The 1.4.0 preview added ML.NET scoring on ARM processors and Deep Neural Network training with GPU's for Windows and Linux.[16]

### Performance

Microsoft's paper on machine learning with ML.NET demonstrated it is capable of training sentiment analysis models using large datasets while achieving high accuracy. Its results showed 95% accuracy on Amazon's 9GB review dataset.[17]

### Model builder

The ML.NET CLI is a [Command-line interface](/source/Command-line_interface) which uses ML.NET AutoML to perform model training and pick the best algorithm for the data. The ML.NET Model Builder preview[18] is an extension for [Visual Studio](/source/Visual_Studio) that uses ML.NET CLI and ML.NET AutoML to output the best ML.NET Model using a [GUI](/source/GUI).[14]

### Model explainability

[AI fairness](/source/Fairness_(machine_learning)) and [explainability](/source/Explainable_artificial_intelligence) has been an area of debate for AI Ethicists in recent years.[19] A major issue for Machine Learning applications is the black box effect where end users and the developers of an application are unsure of how an algorithm came to a decision or whether the dataset contains bias.[20] Build 0.8 included model explainability API's that had been used internally in Microsoft. It added the capability to understand the feature importance of models with the addition of 'Overall Feature Importance' and 'Generalized Additive Models'.[21]

When there are several variables that contribute to the overall score, it is possible to see a breakdown of each variable and which features had the most impact on the final score. The official documentation demonstrates that the scoring metrics can be output for debugging purposes. During training & debugging of a model, developers can preview and inspect live filtered data. This is possible using the [Visual Studio](/source/Visual_Studio) DataView tools.[22]

### Infer.NET

Main article: [Infer.NET](/source/Infer.NET)

Microsoft Research announced the popular Infer.NET model-based machine learning framework used for research in academic institutions since 2008 has been released open source and is now part of the ML.NET framework.[23] The Infer.NET framework utilises [probabilistic programming](/source/Probabilistic_programming) to describe [probabilistic models](/source/Probabilistic_model) which has the added advantage of interpretability. The Infer.NET namespace has since been changed to Microsoft.ML.Probabilistic consistent with ML.NET namespaces.[24]

### NimbusML Python support

Microsoft acknowledged that the [Python](/source/Python_(programming_language)) programming language is popular with Data Scientists, so it has introduced NimbusML the experimental Python bindings for ML.NET. This enables users to train and use machine learning models in Python. It was made open source similar to Infer.NET.[12]

### Machine learning in the browser

ML.NET allows users to export trained models to the [Open Neural Network Exchange](/source/Open_Neural_Network_Exchange) (ONNX) format.[25] This establishes an opportunity to use models in different environments that don't use ML.NET. It would be possible to run these models in the client side of a browser using ONNX.js, a JavaScript client-side framework for deep learning models created in the Onnx format.[*[citation needed](https://en.wikipedia.org/wiki/Wikipedia:Citation_needed)*]

### AI School Machine Learning Course

Along with the rollout of the ML.NET preview, Microsoft rolled out free AI tutorials and courses to help developers understand techniques needed to work with the framework.[26][27][28]

## See also

- [Free and open-source software portal](https://en.wikipedia.org/wiki/Portal:Free_and_open-source_software)

- [scikit-learn](/source/Scikit-learn)

- [Accord.NET](/source/Accord.NET)

- [LightGBM](/source/LightGBM)

- [TensorFlow](/source/TensorFlow)

- [Microsoft Cognitive Toolkit](/source/Microsoft_Cognitive_Toolkit)

- [List of numerical analysis software](/source/List_of_numerical_analysis_software)

- [List of numerical libraries for .NET framework](/source/List_of_numerical_libraries#.NET_Framework_languages_C.23.2C_F.23.2C_VB.NET_and_PowerShell)

- [Comparison of machine learning software](/source/Comparison_of_machine_learning_software)

## References

1. **[^](#cite_ref-blog_Intr_1-0)** Ankit Asthana (2017-05-07). ["Introducing ML.NET: Cross-platform, Proven and Open Source Machine Learning Framework"](https://blogs.msdn.microsoft.com/dotnet/2018/05/07/introducing-ml-net-cross-platform-proven-and-open-source-machine-learning-framework/). *blogs.msdn.microsoft.com*. Retrieved 2018-05-10.

1. **[^](#cite_ref-2)** ["ML.NET: Machine Learning made for .NET"](https://www.microsoft.com/net/learn/apps/machine-learning-and-ai/ml-dotnet). *Microsoft*. Retrieved 11 May 2018.

1. **[^](#cite_ref-3)** [at master · DotNet/MachineLearning](https://github.com/dotnet/machinelearning/blob/master/LICENSE)

1. **[^](#cite_ref-visu_Open_4-0)** David Ramel (2018-05-08). ["Open Source, Cross-Platform ML.NET Simplifies Machine Learning -- Visual Studio Magazine"](https://visualstudiomagazine.com/articles/2018/05/08/ml-net-framework.aspx). *Visual Studio Magazine*. Retrieved 2018-05-10.

1. **[^](#cite_ref-onms_Micr_5-0)** Kareem Anderson (2017-05-09). ["Microsoft debuts ML.NET cross-platform machine learning framework"](https://www.onmsft.com/news/microsoft-debuts-ml-net-cross-platform-machine-learning-framework). *On MSFT*. Retrieved 2018-05-10.

1. **[^](#cite_ref-msdn04_Micr_6-0)** Ankit Asthana (2018-08-07). ["Announcing ML.NET 0.4"](https://blogs.msdn.microsoft.com/dotnet/2018/08/07/announcing-ml-net-0-4/). *blogs.msdn.microsoft.com*. Retrieved 2018-08-08.

1. **[^](#cite_ref-gith_dotn_7-0)** Gal Oshri (2018-05-06). ["ML.NET 0.1 Release Notes"](https://github.com/dotnet/machinelearning/blob/master/Documentation/release-notes/0.1/release-0.1.md). *GitHub*. Retrieved 2018-05-10.

1. **[^](#cite_ref-foss_Micr_8-0)** Tiwari, Aditya (2018-05-08). ["Microsoft Launches ML.NET Open Source Machine Learning Framework"](https://fossbytes.com/microsoft-ml-net-open-source-framework-preview-released/). *Fossbytes*. Retrieved 2018-05-10. Over time, it will enable other ML tasks like anomaly detection, recommendation system, and other approaches like deep learning using the benefits of added libraries.

1. **[^](#cite_ref-9)** ["Machine learning tasks in ML.NET"](https://docs.microsoft.com/en-us/dotnet/machine-learning/resources/tasks). *Microsoft*. Retrieved 26 December 2018.

1. **[^](#cite_ref-msdn05_Micr_10-0)** James McCaffrey (2018-12-19). ["ML.NET: The Machine Learning Framework for .NET Developers"](https://msdn.microsoft.com/en-us/magazine/mt848634/). *MSDN Magazine Connect() Special Issue 2018*. Retrieved 2019-01-09. Even though the ML.NET library is new, its origins go back many years. Shortly after the introduction of the Microsoft .NET Framework in 2002, Microsoft Research began a project called TMSN ("text mining search and navigation") to enable software developers to include ML code in Microsoft products and technologies. The project was very successful, and over the years grew in size and usage internally at Microsoft. Somewhere around 2011 the library was renamed to TLC ("the learning code"). TLC is widely used within Microsoft and is currently in version 3.10. The ML.NET library is a descendant of TLC, with Microsoft-specific features removed. I've used both libraries and, in many ways, the ML.NET child has surpassed its parent.

1. **[^](#cite_ref-github_rel_03_11-0)** ["Release Microsoft ML.NET v0.3"](https://github.com/dotnet/machinelearning/blob/release/preview/docs/release-notes/0.3/release-0.3.md/). *Github*. 2018-07-03. Retrieved 2018-07-03.

1. ^ [***a***](#cite_ref-ms_nimbus_12-0) [***b***](#cite_ref-ms_nimbus_12-1) ["Announcing ML.NET 0.7 (Machine Learning .NET)"](https://blogs.msdn.microsoft.com/dotnet/2018/11/08/announcing-ml-net-0-7-machine-learning-net/). *Microsoft*. 2018-11-08. Retrieved 2018-11-14.

1. **[^](#cite_ref-github_roadmap_13-0)** ["The ML.NET Roadmap"](https://github.com/dotnet/machinelearning/blob/d9d1216221701ee04951353e5180954056474cbf/ROADMAP.md/). *Github*. 2018-05-09. Retrieved 2018-06-30.

1. ^ [***a***](#cite_ref-ms_build2019_14-0) [***b***](#cite_ref-ms_build2019_14-1) ["Announcing ML.NET 1.0"](https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-0/). *Microsoft*. 2019-05-06. Retrieved 2019-05-07.

1. **[^](#cite_ref-15)** ["SciSharp/TensorFlow.NET"](https://github.com/SciSharp/TensorFlow.NET). SciSharp STACK. 21 February 2020.

1. **[^](#cite_ref-github_140preview_16-0)** ["ML.NET 1.4.0-preview2"](https://github.com/dotnet/machinelearning/releases/tag/1.4.0-preview2/). *Github*. 2019-10-09. Retrieved 2019-10-09.

1. **[^](#cite_ref-arx_paper1_17-0)** Ahmed, Zeeshan; Amizadeh, Saeed; Bilenko, Mikhail; Carr, Rogan; Chin, Wei-Sheng; Dekel, Yael; Dupre, Xavier; Eksarevskiy, Vadim; Erhardt, Eric; Eseanu, Costin; Filipi, Senja; Finley, Tom; Goswami, Abhishek; Hoover, Monte; Inglis, Scott; Interlandi, Matteo; Katzenberger, Shon; Kazmi, Najeeb; Krivosheev, Gleb; Luferenko, Pete; Matantsev, Ivan; Matusevych, Sergiy; Moradi, Shahab; Nazirov, Gani; Ormont, Justin; Oshri, Gal; Pagnoni, Artidoro; Parmar, Jignesh; Roy, Prabhat; et al. (2019-05-15). "Machine Learning at Microsoft with ML.NET". *Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining*. pp. 2448–2458. [arXiv](/source/ArXiv_(identifier)):[1905.05715](https://arxiv.org/abs/1905.05715). [doi](/source/Doi_(identifier)):[10.1145/3292500.3330667](https://doi.org/10.1145%2F3292500.3330667). [ISBN](/source/ISBN_(identifier)) [9781450362016](https://en.wikipedia.org/wiki/Special:BookSources/9781450362016). [S2CID](/source/S2CID_(identifier)) [53380995](https://api.semanticscholar.org/CorpusID:53380995).

1. **[^](#cite_ref-18)** ["dotnet/machinelearning-modelbuilder"](https://github.com/dotnet/machinelearning-modelbuilder). .NET Platform. 17 February 2020.

1. **[^](#cite_ref-forbes_aifairness_19-0)** ["Artificial Intelligence Can Reinforce Bias, Cloud Giants Announce Tools For AI Fairness"](https://www.forbes.com/sites/paulteich/2018/09/24/artificial-intelligence-can-reinforce-bias-cloud-giants-announce-tools-for-ai-fairness/). *Forbes*. 2018-09-24. Retrieved 2018-12-05.

1. **[^](#cite_ref-pwc_aiblackbox_20-0)** ["What it means to open AI's black box"](https://usblogs.pwc.com/emerging-technology/to-open-ai-black-box/). *PwC*. 2018-05-15. Retrieved 2018-12-05.

1. **[^](#cite_ref-21)** Hastie, Trevor J. (1 November 2017). "Generalized Additive Models". *Statistical Models in S*. pp. 249–307. [doi](/source/Doi_(identifier)):[10.1201/9780203738535-7](https://doi.org/10.1201%2F9780203738535-7). [ISBN](/source/ISBN_(identifier)) [9780203738535](https://en.wikipedia.org/wiki/Special:BookSources/9780203738535).

1. **[^](#cite_ref-ms_explainability_22-0)** ["Announcing ML.NET 0.8 – Machine Learning for .NET"](https://blogs.msdn.microsoft.com/dotnet/2018/12/04/announcing-ml-net-0-8-machine-learning-for-net/). *Microsoft*. 2018-12-04. Retrieved 2018-12-05.

1. **[^](#cite_ref-register_infernet_23-0)** ["Microsoft open-sources Infer.NET AI code just in time for the weekend"](https://www.theregister.co.uk/2018/10/05/imicrosoft_nfernet/). *The Register*. 2018-10-05. Retrieved 2018-10-31.

1. **[^](#cite_ref-packt_infernet_24-0)** ["Microsoft open sources Infer.NET, its popular model-based machine learning framework"](https://hub.packtpub.com/microsoft-open-sources-infer-net-its-popular-model-based-machine-learning-framework). *Packt*. 2018-10-08. Retrieved 2018-10-31.

1. **[^](#cite_ref-onnx01_25-0)** ["ML.NET – Export Machine Learning.Net models to ONNX format"](https://elbruno.com/2018/07/11/mlnet-export-machine-learning-net-models-to-onnx-format/). *El Bruno*. 2018-07-11. Retrieved 2019-01-09.

1. **[^](#cite_ref-ai_Micr_26-0)** ["AI School"](https://aischool.microsoft.com/learning-paths/). *Microsoft AI*. 2018-05-07. Retrieved 2018-06-29.

1. **[^](#cite_ref-docs_Micr_27-0)** ["ML.NET Guide"](https://docs.microsoft.com/en-us/dotnet/machine-learning/). *Microsoft*. 2018-05-07. Retrieved 2018-06-29.

1. **[^](#cite_ref-infer_Micr_28-0)** ["Infer.NET User Guide"](https://dotnet.github.io/infer/userguide/). *Infer.NET*. 2018-10-05. Retrieved 2018-10-31.

## Further reading

- Capellman, Jarred (2020). *Hands-On Machine Learning with ML.NET: Getting started with Microsoft ML.NET to implement popular machine learning algorithms in C#*. Packt Publishing. [ISBN](/source/ISBN_(identifier)) [978-1789801781](https://en.wikipedia.org/wiki/Special:BookSources/978-1789801781).

- Mukherjee, Sudipta (2020). *ML.NET Revealed: Simple Tools for Applying Machine Learning to Your Applications*. Apress. [ISBN](/source/ISBN_(identifier)) [978-1484265420](https://en.wikipedia.org/wiki/Special:BookSources/978-1484265420).

- Esposito, Dino; Esposito, Francesco (2022). *Programming ML.NET*. Microsoft Press. [ISBN](/source/ISBN_(identifier)) [978-0137383658](https://en.wikipedia.org/wiki/Special:BookSources/978-0137383658).

## External links

- [Official website](https://dot.net/ml)

v t e Deep learning software Comparison Open source Apache MXNet Apache SINGA Caffe Deeplearning4j DeepSpeed Dlib Keras Microsoft Cognitive Toolkit ML.NET OpenNN PyTorch TensorFlow Theano Torch ONNX OpenVINO MindSpore Proprietary Apple Core ML IBM Watson Neural Designer Wolfram Mathematica MATLAB Deep Learning Toolbox Category

v t e Microsoft free and open-source software (FOSS) Overview Microsoft and open source Shared Source Initiative Software Applications 3D Movie Maker Atom Conference XP Family.Show File Manager Open Live Writer Microsoft Edit Microsoft PowerToys Terminal Windows Calculator Windows Console Windows Package Manager WorldWide Telescope XML Notepad Video games Allegiance Zork Programming languages Bosque C# Dafny F# F* GW-BASIC IronPython IronRuby Lean P Power Fx PowerShell Project Verona Q# Small Basic Online TypeScript Visual Basic Frameworks, development tools .NET .NET Framework .NET Gadgeteer .NET MAUI .NET Micro Framework AirSim ASP.NET ASP.NET AJAX ASP.NET Core ASP.NET MVC ASP.NET Razor ASP.NET Web Forms Avalonia Babylon.js BitFunnel Blazor C++/WinRT CCF ChakraCore CLR Profiler Dapr DeepSpeed DiskSpd Dryad Dynamic Language Runtime eBPF on Windows Electron Entity Framework Fluent Design System Fluid Framework Infer.NET LightGBM Managed Extensibility Framework Microsoft Automatic Graph Layout Microsoft C++ Standard Library Microsoft Cognitive Toolkit Microsoft Design Language Microsoft Detours Microsoft Enterprise Library Microsoft SEAL mimalloc Mixed Reality Toolkit ML.NET mod_mono Mono MonoDevelop MSBuild MsQuic Neural Network Intelligence npm NuGet OneFuzz Open Management Infrastructure Open Neural Network Exchange Open Service Mesh Open XML SDK Orleans Playwright ProcDump ProcMon Python Tools for Visual Studio R Tools for Visual Studio RecursiveExtractor Roslyn Sandcastle SignalR StyleCop SVNBridge T2 Temporal Prover Text Template Transformation Toolkit TLA+ Toolbox U-Prove vcpkg Virtual File System for Git Voldemort VoTT Vowpal Wabbit Windows App SDK Windows Communication Foundation Windows Driver Frameworks KMDF UMDF Windows Forms Windows Presentation Foundation Windows Template Library Windows UI Library WinJS WinObjC WiX XDP for Windows XSP xUnit.net Z3 Theorem Prover Operating systems MS-DOS (v1.25, v2.0 & v4.0) Barrelfish SONiC Azure Linux Other ChronoZoom Extensible Storage Engine FlexWiki FourQ Gollum Project Mu ReactiveX SILK TLAPS TPM 2.0 Reference Implementation Windows Subsystem for Linux Licenses Microsoft Public License Microsoft Reciprocal License Forges CodePlex GitHub Related .NET Foundation F# Software Foundation Microsoft Open Specification Promise Open Letter to Hobbyists Open Source Security Foundation Outercurve Foundation Category

---
Adapted from the Wikipedia article [ML.NET](https://en.wikipedia.org/wiki/ML.NET) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/ML.NET?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
