ML.NET is an open source and cross-platform machine learning framework for .NET.
Перейти к файлу
frank-dong-ms 9f276123c0
not copy nuget package to build ouput inorder to save disk space (#4854)
2020-02-19 04:23:17 +00:00
.github Update CODEOWNERS 2019-10-26 23:47:26 -07:00
build Update to Microsoft.CodeAnalysis 3.3.1 (#4798) 2020-02-12 15:20:09 -08:00
docs Update cookbook to latest API (#4706) 2020-02-05 14:48:48 -08:00
pkg Featurizers Nuget fix, DateTimeTransformer path fix (#4639) 2020-01-15 12:56:23 -08:00
src add reference to onnx package in model project (#4844) 2020-02-18 15:50:49 -08:00
test not copy nuget package to build ouput inorder to save disk space (#4854) 2020-02-19 04:23:17 +00:00
tools-local Implement MSML_RelaxTestNaming suppressor for VSTHRD200 (#4803) 2020-02-14 06:24:14 -08:00
.editorconfig Enable MSML_PrivateFieldName for the full solution (#4835) 2020-02-13 15:08:03 -08:00
.gitattributes Initial commit 2018-05-03 17:22:00 -07:00
.gitignore switch housing dataset to wine (#170) 2018-05-23 16:22:12 -07:00
.gitmodules Making MF to be a part of ML.NET (#1263) 2018-10-25 22:48:11 -07:00
.vsts-dotnet-ci.yml not copy nuget package to build ouput inorder to save disk space (#4854) 2020-02-19 04:23:17 +00:00
BuildToolsVersion.txt Updating the buildtools version to the latest (#2822) 2019-03-05 16:18:19 -08:00
CODE_OF_CONDUCT.md Adding code of conduct definition (#3449) 2019-04-21 17:54:45 -07:00
CONTRIBUTING.md Fixed a spelling from adressing to addressing. (#651) 2018-08-06 08:24:59 -07:00
Directory.Build.props Updated langversion to 8.0 (#4687) 2020-01-28 09:22:27 -08:00
Directory.Build.targets Update vs-threading analyzers to 16.5.132 (#4830) 2020-02-12 16:05:18 -08:00
DotnetCLIVersion.txt Update .NET Core SDK to 3.0 GA (#4344) 2019-10-17 13:57:47 -05:00
DotnetExtraRuntimeVersion.txt Enabling building ML.NET for .NET Core 3.0 in the official builds. (#4096) 2019-08-13 16:03:15 -05:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2018-05-06 20:32:33 -07:00
LICENSE Initial commit 2018-05-03 17:22:00 -07:00
Microsoft.ML.sln Initial featurizers project (#4413) 2019-12-02 19:11:33 -08:00
PULL_REQUEST_TEMPLATE.md Update PULL_REQUEST_TEMPLATE.md 2018-05-06 20:43:27 -07:00
README.md adding survey link (#4806) 2020-02-07 10:06:52 -08:00
ROADMAP.md [Mn] Roadmap and release process update (#4704) 2020-01-28 11:15:05 -08:00
THIRD-PARTY-NOTICES.TXT Fix runtime exception in ImageClassification. (#3249) 2019-04-09 11:37:33 -07:00
build.cmd Fixes build errors caused by spaces in the project path (#196) 2018-05-23 11:44:22 -07:00
build.proj build and test failure due to download resource fail (#4776) 2020-02-06 10:02:13 -08:00
build.sh Fixes build error when path contains space on Linux (#247) 2018-05-30 09:36:52 -07:00
codecov.yml Enhance code coverage bot message. (#2235) 2019-02-19 18:06:03 -08:00
config.json add run specific test capability and CrashTestHostProcessorHelper (#4744) 2020-01-30 15:17:55 -08:00
dir.traversal.targets Initial commit 2018-05-03 17:22:00 -07:00
init-tools.cmd fix reg path when take memory dump (#4684) 2020-01-22 16:58:10 -08:00
init-tools.msbuild Initial commit 2018-05-03 17:22:00 -07:00
init-tools.sh Enabling building ML.NET for .NET Core 3.0 in the official builds. (#4096) 2019-08-13 16:03:15 -05:00
run.cmd Moves dotnet-server shutdown to official build yml file (#1432) 2018-10-29 22:11:12 -07:00
run.sh Fixes build error when path contains space on Linux (#247) 2018-05-30 09:36:52 -07:00

README.md

Machine Learning for .NET

Note: Want to share your feedback on ML.NET? Please take this survey

ML.NET is a cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers while offering a production high quality.

ML.NET allows .NET developers to develop/train their own models and infuse custom machine learning into their applications, using .NET, even without prior expertise in developing or tuning machine learning models while having a powerful end-to-end ML platform covering data loading from dataset files and databases, data transformations and many ML algorithms.

ML.NET was originally developed in Microsoft Research and evolved into a Microsoft internal framework over the last decade being used across many product groups in Microsoft like Windows, Bing, PowerPoint, Excel and more.

ML.NET enables machine learning tasks like classification (for example, support text classification, sentiment analysis), regression (for example, price-prediction), and many other ML tasks such as anomaly detection, time-series-forecast, clustering, ranking, etc.

ML.NET also brings .NET APIs for training models, using models for predictions, as well as the core components of this framework such as learning algorithms, transforms, and ML data structures.

Getting started with machine learning by using ML.NET

If you are new to machine learning, start by learning the basics from this collection of resources targeting ML.NET:

Learn ML.NET

ML.NET Documentation, tutorials and reference

Please check our documentation and tutorials.

See the API Reference documentation.

Sample apps

We have a GitHub repo with ML.NET sample apps with many scenarios such as Sentiment analysis, Fraud detection, Product Recommender, Price Prediction, Anomaly Detection, Image Classification, Object Detection and many more.

In addition to the ML.NET samples provided by Microsoft, we're also highlighting many more samples created by the community showcased in this separate page ML.NET Community Samples

ML.NET videos playlist at YouTube

The ML.NET videos playlist on YouTube contains several short videos. Each video focuses on a particular topic of ML.NET.

Operating systems and processor architectures supported by ML.NET

ML.NET runs on Windows, Linux, and macOS using .NET Core, or Windows using .NET Framework.

64 bit is supported on all platforms. 32 bit is supported on Windows, except for TensorFlow and LightGBM related functionality.

ML.NET Nuget packages status

NuGet Status

Release notes

Check out the release notes to see what's new.

Using ML.NET packages

First, ensure you have installed .NET Core 2.1 or later. ML.NET also works on the .NET Framework 4.6.1 or later, but 4.7.2 or later is recommended.

Once you have an app, you can install the ML.NET NuGet package from the .NET Core CLI using:

dotnet add package Microsoft.ML

or from the NuGet package manager:

Install-Package Microsoft.ML

Alternatively, you can add the Microsoft.ML package from within Visual Studio's NuGet package manager or via Paket.

Daily NuGet builds of the project are also available in our Azure DevOps feed:

https://pkgs.dev.azure.com/dnceng/public/_packaging/MachineLearning/nuget/v3/index.json

Building ML.NET (For contributors building ML.NET open source code)

To build ML.NET from source please visit our developers guide.

codecov

Debug Release
CentOS Build Status Build Status
Ubuntu Build Status Build Status
macOS Build Status Build Status
Windows x64 Build Status Build Status
Windows FullFramework Build Status Build Status
Windows x86 Build Status Build Status
Windows NetCore3.0 Build Status Build Status

Release process and versioning

Check out the release process documentation to understand the different kinds of ML.NET releases.

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.

Code examples

Here is a snippet code for training a model to predict sentiment from text samples. You can find complete samples in samples repo.

var dataPath = "sentiment.csv";
var mlContext = new MLContext();
var loader = mlContext.Data.CreateTextLoader(new[]
	{
		new TextLoader.Column("SentimentText", DataKind.String, 1),
		new TextLoader.Column("Label", DataKind.Boolean, 0),
	},
	hasHeader: true,
	separatorChar: ',');
var data = loader.Load(dataPath);
var learningPipeline = mlContext.Transforms.Text.FeaturizeText("Features", "SentimentText")
		.Append(mlContext.BinaryClassification.Trainers.FastTree());
var model = learningPipeline.Fit(data);

Now from the model we can make inferences (predictions):

var predictionEngine = mlContext.Model.CreatePredictionEngine<SentimentData, SentimentPrediction>(model);
var prediction = predictionEngine.Predict(new SentimentData
{
    SentimentText = "Today is a great day!"
});
Console.WriteLine("prediction: " + prediction.Prediction);

A cookbook that shows how to use these APIs for a variety of existing and new scenarios can be found here.

License

ML.NET is licensed under the MIT license and it is free to use commercially.

.NET Foundation

ML.NET is a .NET Foundation project.

There are many .NET related projects on GitHub.

  • .NET home repo - links to 100s of .NET projects, from Microsoft and the community.