📜 ⬆️ ⬇️

Announced ML.NET 1.0

We recently announced the release of ML.NET 1.0 . ML.NET is a free, cross-platform and open machine learning framework designed to take advantage of machine learning (ML) capabilities in .NET applications.

image

github.com/dotnet/machinelearning
Start: dot.net/ml

ML.NET allows you to train, create, and deliver custom machine learning models that use C # or F # for scenarios such as sentiment analysis, issue classification, forecasting, recommendations, and many others. You can check out these common scenarios and tasks in our ML.NET sample repository .
')
ML.NET was originally developed within Microsoft Research, but later became a significant framework used by many Microsoft products, such as Windows Defender, Microsoft Office (PowerPoint ideas, recommended charts in Excel), Azure Machine Learning, visualization of key factors influences in powerbi and so on!

Since its launch, ML.NET has been used by many organizations, such as SigParser (detection of spam in email) , William Mullens (classification of legal issues) and Evolution Software (determination of the hazelnut moisture level) . You can follow the path of these and many other organizations using ML.NET in our ML.NET Customer Showcas . Introduced clients tell us that the ease of use of ML.NET, the ability to reuse your .NET skills, and the complete retention of your technical stack in .NET are the main drivers for using ML.NET.

With the release of ML.NET 1.0, we also add new previews, such as Automated machine learning (AutoML), and new tools, such as ML.NET CLI and ML.NET Model Builder, which means that adding machine learning models to Your applications are now implemented by just clicking the right mouse button!

image

The rest of this post is about this new experience.


Key components of ML.NET


ML.NET aims to provide the final workflow for using ML in .NET applications at various stages of machine learning (preprocessing, feature design, modeling, evaluation, and commissioning). ML.NET 1.0 provides the following key components:

  1. Data presentation
    • Fundamental ML Data Pipeline data types, such as IDataView (is the fundamental type of Data Pipeline)
    • Readers to support reading data from delimited text files or IEnumerable objects
  2. Support for machine learning tasks:
    • Binary classification
    • Multiclass classification
    • Regression
    • Ranging
    • Anomaly detection
    • Clustering
    • Recommendation (preview)
  3. Data Transformation and featurization
    • Text
    • Categories
    • Feature selection
    • Normalization and processing of missing values
    • Image featurization
    • Time Series (preview)
    • ONNX and TensorFlow model integration support (preview)
  4. Other
    • Model of understanding and explicability
    • User-defined custom transformations
    • Operation scheme
    • Support for dataset manipulation and cross-validation

Automated Machine Learning (Preview)


Getting started with machine learning today includes a steep learning curve. When building custom machine learning models, you need to figure out which machine learning task to choose for your scenario (for example, classification or regression?), How to convert data into a format that ML algorithms can understand (for example, text data -> numerical vectors), and configure these ML algorithms for best performance. If you are new to ML, each of these steps can be quite difficult!

Automated Machine Learning simplifies your journey with ML, automatically figuring out how to convert input data, and choosing the best ML algorithm with the right settings to easily create best-in-class custom ML models.

AutoML support in ML.NET is currently in preview mode, and currently we support only the main tasks of ML - regression (used for scripts such as Price Prediction) and classification (used for scripts such as Sentiment Analysis, Document Classification, Spam Detection, etc.).

You can try AutoML in ML.NET in three form factors: using ML.NET Model Builder, ML.NET CLI or directly using the AutoML API ( examples can be found here ).

For newcomers to machine learning, we recommend starting with ML.NET Model Builder in Visual Studio and ML.NET CLI on any platform. The AutoML API is also very useful for scripts in which you want to create models on the fly.

Model Builder (Preview)


To make it easier for .NET developers to create ML models, we are also pleased to introduce ML.NET Model Builder. With ML.NET Model Builder, adding machine learning to your applications is now done with just a right-click!

Model Builder is a simple UI tool for developers who use AutoML to create best-in-class ML models using the provided dataset. In addition to this, Model Builder also generates model training and model consumption code for the most efficient model that allows you to quickly add ML to an existing application.

image

Learn more about ML.NET Model Builder

Model Builder is currently in the first mode, and we would like you to try it out and share your opinion with us!

ML.NET CLI (Preview)


ML.NET CLI (command-line interface) is another new tool that we introduce!

ML.NET CLI is a dotnet tool that allows you to generate ML.NET models using AutoML and ML.NET. ML.NET CLI also quickly iterates on your ML for a specific ML task (currently supports regression and classification) and creates the best model.

CLI, in addition to creating the best model, also allows users to generate model training and model consumption code to create the most efficient model.

ML.NET CLI is a cross-platform and simple addon to the .NET CLI. By the way, to provide opportunities, the Model Builder extension for Visual Studio also uses the ML.NET CLI.

You can install the ML.NET CLI through this command:
dotnet tool install -g mlnet

The gif-image below shows the ML.NET CLI, which creates a dataset for sentiment analysis.

image

Learn more about ML.NET CLI

ML.NET CLI is also currently in the first mode, and we would like you to try it out and share your opinion with us!

Get started now!


If you haven't done it yet, then know: getting started with ML.NET is easy, and you can do it in just a few simple steps, as shown below. The sample below shows how you can perform a sentiment analysis using ML.NET .

 // 1.  ML Context var ctx = new MLContext(); // 2. Read  input    IDataView dataReader = ctx.Data .LoadFromTextFile<MyInput>(dataPath, hasHeader: true); // 3.    IEstimator<ITransformer> est = ctx.Transforms.Text .FeaturizeText("Features", nameof(SentimentIssue.Text)) .Append(ctx.BinaryClassification.Trainers .LbfgsLogisticRegression("Label", "Features")); // 4.    ITransformer trainedModel = est.Fit(dataReader); // 5.  ,    var predictionEngine = ctx.Model .CreatePredictionEngine<MyInput, MyOutput>(trainedModel); var sampleStatement = new MyInput { Text = "This is a horrible movie" }; var prediction = predictionEngine.Predict(sampleStatement); 

You can also explore various other learning resources, such as tutorials, resources for ML.NET, as well as samples of ML.NET , demonstrating popular scripts, such as product recommendation, anomaly detection, and many others.

What will happen next in ML.NET


Although we are very pleased with the release of ML.NET 1.0, our team is already working hard to include the following features after release 1.0:

Source: https://habr.com/ru/post/451296/


All Articles