Code Monkey home page Code Monkey logo

machinelearning's Introduction

Machine Learning for .NET

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

ML.NET allows .NET developers to develop their own models and infuse custom ML into their applications without prior expertise in developing or tuning machine learning models, all in .NET.

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

With this first preview release, ML.NET enables ML tasks like classification (e.g. support text classification, sentiment analysis) and regression (e.g. price-prediction).

Along with these ML capabilities, this first release of ML.NET also brings the first draft of .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.

Installation

NuGet Status

ML.NET runs on Windows, Linux, and macOS - any platform where 64 bit .NET Core or later is available.

The current release is 0.6. Check out the release notes to see what's new.

First, ensure you have installed .NET Core 2.0 or later. ML.NET also works on the .NET Framework. Note that ML.NET currently must run in a 64-bit process.

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

Or 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 MyGet feed:

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

Building

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

x64 Debug x64 Release
Linux x64-debug x64-release
macOS x64-debug x64-release
Windows x64-debug x64-release

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.

Examples

Here's an example of code to train a model to predict sentiment from text samples. (You can find a sample of the legacy API here):

var env = new LocalEnvironment();
var reader = TextLoader.CreateReader(env, ctx => (
        Target: ctx.LoadFloat(2),
        FeatureVector: ctx.LoadFloat(3, 6)),
        separator: ',',
        hasHeader: true);
var data = reader.Read(new MultiFileSource(dataPath));
var classification = new MulticlassClassificationContext(env);
var learningPipeline = reader.MakeNewEstimator()
    .Append(r => (
    r.Target,
    Prediction: classification.Trainers.Sdca(r.Target.ToKey(), r.FeatureVector)));
var model = learningPipeline.Fit(data);

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

var predictionFunc = model.MakePredictionFunction<SentimentInput, SentimentPrediction>(env);
var prediction = predictionFunc.Predict(new SentimentData
{
    SentimentText = "Today is a great day!"
};
Console.WriteLine("prediction: " + prediction.Sentiment);

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

Samples

We have a repo of samples that you can look at.

License

ML.NET is licensed under the MIT license.

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

machinelearning's People

Contributors

abgoswam avatar adamsitnik avatar anipik avatar artidoro avatar beneyal avatar briancylui avatar cesardelatorre avatar codemzs avatar danmoseley avatar eerhardt avatar galoshri avatar ganik avatar george-microsoft avatar glebuk avatar ivanidzo4ka avatar joshua-light avatar justinormont avatar jwood803 avatar najeeb-kazmi avatar oliag avatar rogancarr avatar safern avatar sfilipi avatar shauheen avatar singlis avatar tincann avatar tomfinley avatar yaeldms avatar zeahmed avatar zruty0 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.