An open source, cross-platform. NET Machine Learning Framework Ml.net

Source: Internet
Author: User
Tags new set stock prices spark mllib

Microsoft launched the build 2018 conference for a. NET developer of Open source, cross-platform machine learning Framework ml.net. ML. NET will allow. NET developers to develop their own models and integrate custom ML into their applications without prior knowledge of developing or tuning machine learning models. Models developed using common machine learning languages such as R and Python, and integrating them into enterprise applications written in languages such as C #, require considerable effort. ML. NET filled the gap between machine learning experts and software developers, making machine learning more common, even when people without machine learning backgrounds were able to build and run models. by the. NET to create a high-quality machine learning framework, Microsoft has made it easier to turn machine learning into an enterprise (or through Xamarin mobile apps). This is a form of making machine learning more usable.

What types of problems can be resolved using ml.net?

Libraries built based on the many years of machine learning used by major Microsoft products such as Microsoft internal windows,bing and Azure are currently in the preview phase, with the latest version 0.2. The learning models currently supported by the framework include

    • K-means Clustering
    • Logistic regression
    • Support Vector Machine
    • Naive Bayesian
    • Random Forest
    • Tree enhancement

Other technologies, such as recommendation engines and anomaly detection, are being developed on the roadmap. ML. NET will eventually expose the interface to other popular machine learning libraries, such as TENSORFLOW,CNTK and accord.net. Finally, there are tools and language enhancements, including the extended functionality in Azure and gui/visual studio features.

How do I use ml.net in my application?

ML. NET is provided in the form of nuget packages and can be easily installed into new or existing ones. NET application.

The framework uses a "Pipeline (Learningpipeline)" Method for other machine learning libraries, such as Scikit-learn and Apache Spark MLlib. Data is "routed" through multiple stages to produce useful results (such as predictions). A typical pipeline may involve

    1. Loading data
    2. converting data
    3. Feature Extraction/Engineering
    4. Configuring the Learning Model
    5. Training model
    6. Use well-trained models (such as getting predictions)

Pipelines provide a standard API for using machine learning models. This makes it easier to switch a model during testing and experimentation. It also breaks down the modeling effort into well-defined steps to make it easier to understand existing code. Scikit-learn Library implements a lot of machine learning algorithms, we can refer to scikit-learn:http://sklearn.apachecn.org/cn/0.19.0/index.html

When building a machine learning model, you first need to define the goals you want to achieve with your data. After that, you can choose the right machine learning task for your situation. The following list describes the different machine learning tasks you can choose and some common use cases.

Binary classification

Binary classification belongs to supervised learning, which is used to predict which two class (category) tasks belong to one instance of the data. The input to the classification algorithm is an example of a set of tokens, where each tag is an integer of 0 or 1. The output of the binary classification algorithm is a classifier that you can use to predict the class of a new unlabeled instance. Examples of binary classification scenarios include:

    • Read the sentiment of Twitter commentary as "positive" or "negative".

    • Diagnose whether a patient suffers from a disease.

    • Decide to mark e-mail messages as "spam."

    • If the trading day is a rising day or a fall day
    • Handwritten digit recognition
    • Speech recognition
    • Image recognition

For more information, see the two-dollar classification article on Wikipedia.

Multi-Class classification

Multivariate classification belongs to the task of supervised learning, which is used to predict the class (category) of data instances. The input to the classification algorithm is an example of a set of tokens. Each label is an integer between 0 and K-1, where K is the number of classes. The output of the classification algorithm is a classifier that you can use to predict the class of a new unlabeled instance. Examples of multi-class classification schemes include:

    • Determine the breed of a dog as "Siberian sled Dog", "Golden Retriever", "Poodle" and so on.
    • Interpret movie reviews as "positive", "neutral" or "negative".
    • Classify hotel reviews as "location", "Price", "cleanliness" and so on.

For more information, see the Multi-category articles on Wikipedia.

Classification Step settings:

    1. Define the problem first
    2. You will then represent your data in the form of a numeric attribute named features. This is done for the training data that has been categorized and the test data that needs to be categorized in the future
    3. You'll get the training data and enter it into the classification algorithm to train the model
    4. Classify new instances that need to be categorized or take test data and pass them to classifiers
Clustering

Clustering belongs to unsupervised machine learning, a set of instances of data that are tasks that contain clusters of similar characteristics. Clustering can also be used to identify relationships in datasets that may not be logically derived either by browsing or simply observing. The input and output of the clustering algorithm depends on the method chosen. You can take a distribution, centroid, connectivity, or density-based approach. ML. NET currently supports centroid-based methods that use K-means clustering. Examples of clustering scenarios include:

    • Learn about the hotel's guest base based on the habits and characteristics of the hotel's choice.
    • Identify customer groups and demographic information to help build targeted advertising campaigns.
    • Classify the inventory according to the manufacturing index.
    • Identify a group of houses based on the type of house, value and location
    • Seismic epicenter identifies hazardous areas
    • Use a cluster to place the phone tower in a new city so that all users can get the best single strength

Cluster Setup steps:

    1. You'll start with the problem statement, which is the dataset that needs to be aggregated
    2. You will then use the feature to represent the points in the data set.
    3. There is no training here, no need to learn
    4. You directly provide the data to the clustering algorithm to find the final cluster without any training steps
Regression

Regression is the monitoring of machine learning, which is used to predict the value of a tag from a set of related functions. Labels can have any real value and do not come from a limited set of values, as the classification task does. The regression algorithm models the dependency of a tag on its associated features to determine how the label changes with the characteristic value. The input to the regression algorithm is an example of a set of labels with known values. The output of the regression algorithm is a function that you can use to predict the label values of any new set of input features. Examples of regression scenarios include:

    • Predict house prices based on property (e.g., number of bedrooms, location or size).
    • Predict future stock prices based on historical data and current market trends.
    • Forecast the sales of the product according to the advertising budget.

Anomaly Detection ( About to launch) Ranking ( About to launchRecommended About to launch

An open source, cross-platform. NET Machine Learning Framework Ml.net

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.