Machine Learning-Aufgaben in ML.NETMachine learning tasks in ML.NET

Wenn Sie ein Machine Learning-Modell erstellen, müssen Sie zuerst definieren, was Sie mit Ihren Daten erreichen möchten.When building a machine learning model, you first need to define what you are hoping to achieve with your data. Dadurch können Sie die richtige Machine Learning-Aufgabe für Ihren Zweck auswählen.This allows you to choose the right machine learning task for your situation. In der folgenden Liste werden die verschiedenen Machine Learning-Aufgaben beschrieben, unter denen Sie auswählen können, und einige häufige Anwendungsfälle.The following list describes the different machine learning tasks that you can choose from and some common use cases. Weitere Informationen zum Auswählen der für Ihr Szenario geeigneten Aufgabe finden Sie unter Algorithmen.For more information about choosing the task that is appropriate for your scenario, see Algorithms.

Nachdem Sie entschieden haben, welche Aufgabe auf Ihr Szenario zutrifft, müssen Sie den besten Algorithmus zum Trainieren Ihres Modells auswählen.Once you have decided which task works for your scenario, then you need to choose the best algorithm to train your model. Die verfügbaren Algorithmen sind im Abschnitt zur jeweiligen Aufgabe aufgeführt.The available algorithms are listed in the section for each task.

Binäre KlassifizierungBinary classification

Eine überwachte Machine Learning-Aufgabe, um vorherzusagen, zu welcher von zwei Klassen (Kategorien) eine Dateninstanz gehört.A supervised machine learning task that is used to predict which of two classes (categories) an instance of data belongs to. Die Eingabe eines Klassifizierungsalgorithmus ist ein Satz bezeichneter Beispiele, wo jede Bezeichnung entweder die Ganzzahl 0 oder 1 ist.The input of a classification algorithm is a set of labeled examples, where each label is an integer of either 0 or 1. Die Ausgabe eines binären Klassifizierungsalgorithmus ist ein Klassifizierer, den Sie verwenden können, um die Klasse der neuen nicht bezeichneten Instanzen vorherzusagen.The output of a binary classification algorithm is a classifier, which you can use to predict the class of new unlabeled instances. Zu den Beispielen binärer Klassifizierungsszenarien zählen:Examples of binary classification scenarios include:

  • Verstehen des Standpunkts in Twitter-Kommentaren als „positiv“ oder „negativ“.Understanding sentiment of Twitter comments as either "positive" or "negative".
  • Diagnostizieren, ob bei einem Patienten eine bestimmte Krankheit vorliegt oder nicht.Diagnosing whether a patient has a certain disease or not.
  • Treffen einer Entscheidung, um eine E-Mail-Nachricht als „Spam“ zu markieren oder nicht.Making a decision to mark an email as "spam" or not.
  • Ermitteln, ob ein Foto ein bestimmtes Element, z. B. einen Hund oder eine Frucht, enthält oder nichtDetermining if a photo contains a particular item or not, such as a dog or fruit.

Weitere Informationen finden Sie auf Wikipedia im Artikel zur binären Klassifizierung.For more information, see the Binary classification article on Wikipedia.

Trainer für die binäre KlassifizierungBinary classification trainers

Sie können ein binäres Klassifizierungsmodell mithilfe der folgenden Algorithmen trainieren:You can train a binary classification model using the following algorithms:

Eingaben und Ausgaben für die binäre KlassifizierungBinary classification inputs and outputs

Für optimale Ergebnisse bei der binären Klassifizierung sollten die Trainingsdaten ausgeglichen sein (d.h. eine gleiche Anzahl von positiven und negativen Trainingsdaten).For best results with binary classification, the training data should be balanced (that is, equal numbers of positive and negative training data). Fehlende Werte sollten vor dem Training bearbeitet werden.Missing values should be handled before training.

Die Daten in der Spalte für die Eingabezeichnung müssen Boolean sein.The input label column data must be Boolean. Die Daten in der Spalte für die Eingabefeatures müssen ein Vektor fester Größe von Single sein.The input features column data must be a fixed-size vector of Single.

Diese Trainer geben die folgenden Spalten aus:These trainers output the following columns:

Name der AusgabespalteOutput Column Name SpaltentypColumn Type BESCHREIBUNGDescription
Score Single Die vom Modell berechnete unformatierte BewertungThe raw score that was calculated by the model
PredictedLabel Boolean Der vorhergesagte Bezeichnung, basierend auf dem Abzeichnen der Bewertung.The predicted label, based on the sign of the score. Eine negative Bewertung wird false und eine positive Bewertung wird true zugeordnet.A negative score maps to false and a positive score maps to true.

MultiklassenklassifizierungMulticlass classification

Eine überwachte Machine Learning-Aufgabe, um die Klasse (Kategorie) einer Dateninstanz vorherzusagen.A supervised machine learning task that is used to predict the class (category) of an instance of data. Die Eingabe eines Klassifizierungsalgorithmus ist ein Satz bezeichneter Beispiele.The input of a classification algorithm is a set of labeled examples. Jede Bezeichnung beginnt normalerweise als Text.Each label normally starts as text. Sie wird dann über TermTransform ausgeführt, wodurch sie in den (numerischen) Schlüsseltyp konvertiert wird.It is then run through the TermTransform, which converts it to the Key (numeric) type. Die Ausgabe eines Klassifizierungsalgorithmus ist ein Klassifizierer, den Sie verwenden können, um die Klasse der neuen nicht bezeichneten Instanzen vorherzusagen.The output of a classification algorithm is a classifier, which you can use to predict the class of new unlabeled instances. Zu den Beispielen für Multiklassen-Klassifizierungsszenarien zählen:Examples of multi-class classification scenarios include:

  • Ermitteln der Rasse eines Hundes als „Sibirischer Husky“, „Golden Retriever“, „Pudel“ usw.Determining the breed of a dog as a "Siberian Husky", "Golden Retriever", "Poodle", etc.
  • Verstehen von Filmkritiken als „positiv“, „neutral“ oder „negativ“.Understanding movie reviews as "positive", "neutral", or "negative".
  • Kategorisieren von Hoteltests in „Lage“, „Preis“, „Sauberkeit“ usw.Categorizing hotel reviews as "location", "price", "cleanliness", etc.

Weitere Informationen finden Sie auf Wikipedia im Artikel zur Multiklassenklassifizierung.For more information, see the Multiclass classification article on Wikipedia.

Hinweis

One-vs-All (OvA) aktualisiert alle Binärklassifizierungs-Lernmodule, sodass sie Multiklassendatasets bearbeiten.One vs all upgrades any binary classification learner to act on multiclass datasets. Weitere Informationen finden Sie in [Wikipedia] (https://en.wikipedia.org/wiki/Multiclass_classification#One-vs.-rest).More information on [Wikipedia] (https://en.wikipedia.org/wiki/Multiclass_classification#One-vs.-rest).

Trainer für die MultiklassenklassifizierungMulticlass classification trainers

Sie können ein Modell zur Multiklassenklassifizierung mithilfe der folgenden Algorithmen trainieren:You can train a multiclass classification model using the following training algorithms:

Eingaben und Ausgaben für die MultiklassenklassifizierungMulticlass classification inputs and outputs

Die Daten in der Spalte für die Eingabezeichnung müssen vom Typ key sein.The input label column data must be key type. Die Featurespalte muss ein Vektor fester Größe von Single sein.The feature column must be a fixed size vector of Single.

Der Trainer gibt folgende Daten aus:This trainer outputs the following:

AusgabenameOutput Name TypType BESCHREIBUNGDescription
Score Vektor von SingleVector of Single Die Bewertungen aller Klassen.The scores of all classes. Ein höherer Wert bedeutet eine höhere Wahrscheinlichkeit, in die zugehörige Klasse zu fallen.Higher value means higher probability to fall into the associated class. Wenn das i-te Element den größten Wert hat, wäre der vorhergesagte Bezeichnungsindex i.If the i-th element has the largest value, the predicted label index would be i. Beachten Sie, dass „i“ ein nullbasierter Index ist.Note that i is zero-based index.
PredictedLabel Typ keykey type Der Index der vorhergesagten Bezeichnung.The predicted label's index. Wenn sein Wert i ist, wäre die eigentliche Bezeichnung die i-te Kategorie des Typs der Schlüssel-Wert-Eingabebezeichnung.If its value is i, the actual label would be the i-th category in the key-valued input label type.

RegressionRegression

Eine überwachte Machine Learning-Aufgabe, die verwendet wird, um den Wert der Bezeichnung aus einem Satz verwandter Features vorherzusagen.A supervised machine learning task that is used to predict the value of the label from a set of related features. Die Bezeichnung kann einen realen Wert haben und stammt nicht aus einem endlichen Satz von Werten wie bei Klassifizierungsaufgaben.The label can be of any real value and is not from a finite set of values as in classification tasks. Regressionsalgorithmen modellieren die Abhängigkeit der Bezeichnung von den zugehörigen verwandten Features, um zu bestimmen, wie sich die Bezeichnung ändert, wenn die Werte der Features variiert werden.Regression algorithms model the dependency of the label on its related features to determine how the label will change as the values of the features are varied. Die Eingabe eines Regressionsalgorithmus ist eine Reihe von Beispielen mit Bezeichnungen bekannter Werte.The input of a regression algorithm is a set of examples with labels of known values. Die Ausgabe eines Regressionsalgorithmus ist eine Funktion, die Sie verwenden können, um den Bezeichnungswert für einen neuen Satz von Eingabefeatures vorherzusagen.The output of a regression algorithm is a function, which you can use to predict the label value for any new set of input features. Beispiele für Regressionsszenarien sind:Examples of regression scenarios include:

  • Hauspreisvorhersagen basierend auf Hausattributen wie der Anzahl von Schlafzimmern, Lage und Größe.Predicting house prices based on house attributes such as number of bedrooms, location, or size.
  • Vorhersagen zukünftiger Aktienkurse basierend auf historischen Daten und aktuellen Markttrends.Predicting future stock prices based on historical data and current market trends.
  • Vorhersagen für den Verkauf eines Produkts basierend auf Werbebudgets.Predicting sales of a product based on advertising budgets.

RegressionstrainerRegression trainers

Sie können ein Regressionsmodell mithilfe der folgenden Algorithmen trainieren:You can train a regression model using the following algorithms:

Eingaben und Ausgaben für die RegressionRegression inputs and outputs

Die Daten in der Spalte für die Eingabezeichnung müssen Single sein.The input label column data must be Single.

Die Trainer für diese Ausgabe geben folgende Daten aus:The trainers for this task output the following:

AusgabenameOutput Name TypType BESCHREIBUNGDescription
Score Single Die vom Modell vorhergesagte unformatierte BewertungThe raw score that was predicted by the model

ClusterbildungClustering

Eine nicht überwachte Machine Learning-Aufgabe, die verwendet wird, um Instanzen von Daten in Clustern zu gruppieren, die ähnliche Merkmale aufweisen.An unsupervised machine learning task that is used to group instances of data into clusters that contain similar characteristics. Die Clusterbildung kann auch zum Identifizieren von Beziehungen in einem Dataset verwendet werden, die Sie möglicherweise nicht logisch durch Durchsuchen oder einfache Beobachtung ableiten können.Clustering can also be used to identify relationships in a dataset that you might not logically derive by browsing or simple observation. Die Eingaben und Ausgaben eines Clusterbildungsalgorithmus hängen von der ausgewählten Methodik ab.The inputs and outputs of a clustering algorithm depends on the methodology chosen. Sie können einen verteilungs-, schwerpunkt-, konnektivitäts- oder dichtebasierten Ansatz wählen.You can take a distribution, centroid, connectivity, or density-based approach. ML.NET unterstützt derzeit einen schwerpunktbasierten Ansatz bei Verwendung der K-Means-Clusterbildung.ML.NET currently supports a centroid-based approach using K-Means clustering. Beispiele für Clusterbildungsszenarien sind:Examples of clustering scenarios include:

  • Grundlegendes zu Segmenten von Hotelgästen basierend auf Gewohnheiten und Merkmalen der Hotelauswahl.Understanding segments of hotel guests based on habits and characteristics of hotel choices.
  • Identifizieren von Kundensegmenten und demografischen Daten, um gezielte Werbekampagnen erstellen zu können.Identifying customer segments and demographics to help build targeted advertising campaigns.
  • Kategorisieren des Lagerbestands basierend auf Produktionsmetriken.Categorizing inventory based on manufacturing metrics.

TrainerclusteringClustering trainer

Sie können ein Modell zur Clusterbildung mithilfe der folgenden Algorithmen trainieren:You can train a clustering model using the following algorithm:

Eingaben und Ausgaben für das ClusteringClustering inputs and outputs

Die Daten der Eingabefeatures müssen Single sein.The input features data must be Single. Es sind keine Bezeichnungen erforderlich.No labels are needed.

Der Trainer gibt folgende Daten aus:This trainer outputs the following:

AusgabenameOutput Name TypType BESCHREIBUNGDescription
Score Vektor von Singlevector of Single Die Abstände der angegebenen Daten weisen auf die Schwerpunkte aller Cluster hin.The distances of the given data point to all clusters' centriods
PredictedLabel Typ keykey type Der Index des nächsten Clusters, der durch das Modell vorhergesagt wird.The closest cluster's index predicted by the model.

AnomalieerkennungAnomaly detection

Diese Aufgabe erstellt ein Anomalieerkennungsmodell mithilfe der Principal Component Analysis (PCA).This task creates an anomaly detection model by using Principal Component Analysis (PCA). Die Anomalieerkennung auf PCA-Basis unterstützt Sie beim Erstellen eines Modells in Szenarien, in denen mühelos Trainingsdaten aus einer Klasse, z.B. gültige Transaktionen, aber nur schwer ausreichende Beispiele für die gesuchten Anomalien zu erhalten sind.PCA-Based Anomaly Detection helps you build a model in scenarios where it is easy to obtain training data from one class, such as valid transactions, but difficult to obtain sufficient samples of the targeted anomalies.

Als bewährtes Verfahren im Machine Learning wird PCA häufig in der explorativen Datenanalyse verwendet, da es die innere Struktur der Daten zeigt und die Abweichung in den Daten erläutert.An established technique in machine learning, PCA is frequently used in exploratory data analysis because it reveals the inner structure of the data and explains the variance in the data. PCA arbeitet mit der Analyse von Daten, die mehrere Variablen enthalten.PCA works by analyzing data that contains multiple variables. Das Verfahren sucht nach Korrelationen zwischen den Variablen und bestimmt die Kombination der Werte, die am besten Unterschiede in den Ergebnissen erfassen.It looks for correlations among the variables and determines the combination of values that best captures differences in outcomes. Mit diesen kombinierten Featurewerten wird ein kompakterer Featurebereich erstellt, der als „Hauptkomponenten“ bezeichnet wird.These combined feature values are used to create a more compact feature space called the principal components.

Die Anomalieerkennung umfasst viele wichtige Machine Learning-Aufgaben:Anomaly detection encompasses many important tasks in machine learning:

  • Identifizieren potenziell betrügerischer Transaktionen.Identifying transactions that are potentially fraudulent.
  • Erlernen von Mustern, die anzeigen, dass der Versuch unternommen wurde, in das Netzwerk einzudringen.Learning patterns that indicate that a network intrusion has occurred.
  • Finden anomaler Patientencluster.Finding abnormal clusters of patients.
  • Überprüfen von Werten, die in ein System eingegeben werden.Checking values entered into a system.

Da Anomalien laut Definition selten sind, kann es schwierig sein, eine repräsentative Stichprobe von Daten zu sammeln, die für die Modellierung verwendet werden können.Because anomalies are rare events by definition, it can be difficult to collect a representative sample of data to use for modeling. Die Algorithmen, die zu dieser Kategorie gehören, wurden insbesondere daraufhin konzipiert, den wesentlichen Herausforderungen beim Erstellen und Trainieren von Modellen mithilfe von unausgeglichenen Datasets gerecht zu werden.The algorithms included in this category have been especially designed to address the core challenges of building and training models by using imbalanced data sets.

Trainer für die AnomalieerkennungAnomaly detection trainer

Sie können ein Anomalieerkennungsmodell mithilfe der folgenden Algorithmen trainieren:You can train an anomaly detection model using the following algorithm:

Eingaben und Ausgaben für die AnomalieerkennungAnomaly detection inputs and outputs

Die Eingabefeatures müssen ein Vektor fester Größe von Single sein.The input features must be a fixed-sized vector of Single.

Der Trainer gibt folgende Daten aus:This trainer outputs the following:

AusgabenameOutput Name TypType BESCHREIBUNGDescription
Score Single Die nicht-negative, unbegrenzte Bewertung, die durch das Anomalieerkennungsmodell berechnet wurde.The non-negative, unbounded score that was calculated by the anomaly detection model

RangfolgeRanking

Eine Rangfolgenaufgabe erstellt für einen Satz bezeichneter Beispiele eine Rangfolge.A ranking task constructs a ranker from a set of labeled examples. Dieser Beispielsatz besteht aus Instanzengruppen, die nach bestimmten Kriterien bewertet werden können.This example set consists of instance groups that can be scored with a given criteria. Die Rangfolgenbezeichnungen sind {0, 1, 2, 3, 4} für jede Instanz.The ranking labels are { 0, 1, 2, 3, 4 } for each instance. Die Rangfolgenfunktion wird dafür trainiert, neue Instanzengruppen mit unbekannten Bewertungen für jede Instanz in die Rangfolge einzuordnen.The ranker is trained to rank new instance groups with unknown scores for each instance. ML.NET-Rangfolgen-Lernmodule basieren auf Machine Learning-Rangfolge.ML.NET ranking learners are machine learned ranking based.

Trainingsalgorithmen für RangfolgeRanking training algorithms

Sie können ein Rangfolgemodell mithilfe der folgenden Algorithmen trainieren:You can train a ranking model with the following algorithms:

Eingaben und Ausgaben für die RangfolgeRanking input and outputs

Der Datentyp für die Eingabebezeichnung muss ein Typ key oder Single sein.The input label data type must be key type or Single. Der Wert der Bezeichnung bestimmt die Relevanz, wobei höhere Werte eine höhere Relevanz anzeigen.The value of the label determines relevance, where higher values indicate higher relevance. Wenn die Bezeichnung vom Typ key ist, dann ist der Schlüsselindex der Relevanzwert, wobei der kleinste Index der am wenigsten relevante ist.If the label is a key type, then the key index is the relevance value, where the smallest index is the least relevant. Wenn die Bezeichnung ein Single ist, zeigen höhere Werte eine höhere Relevanz an.If the label is a Single, larger values indicate higher relevance.

Die Featuredaten müssen ein Vektor mit fester Größe von Single sein, und die Gruppenspalte der Eingabezeilen muss vom Typ key sein.The feature data must be a fixed size vector of Single and input row group column must be key type.

Der Trainer gibt folgende Daten aus:This trainer outputs the following:

AusgabenameOutput Name TypType BESCHREIBUNGDescription
Score Single Die unbegrenzte Bewertung, die vom Modell berechnet wurde, um die Vorhersage zu bestimmen.The unbounded score that was calculated by the model to determine the prediction

EmpfehlungRecommendation

Mit einer Empfehlungsaufgabe kann eine Liste empfohlener Produkte oder Dienste erstellt werden.A recommendation task enables producing a list of recommended products or services. ML.NET verwendet für Empfehlungen Matrixfaktorisierung (MF), einen Algorithmus für kollaboratives Filtern, wenn Ihr Katalog Verlaufsproduktbewertungs-Daten enthält.ML.NET uses Matrix factorization (MF), a collaborative filtering algorithm for recommendations when you have historical product rating data in your catalog. Ihnen liegen z.B. Verlaufsfilmbewertungs-Daten Ihrer Benutzer vor, und Sie möchten andere Filme empfehlen, die sie wahrscheinlich als Nächstes sehen möchten.For example, you have historical movie rating data for your users and want to recommend other movies they are likely to watch next.

Trainingsalgorithmen für EmpfehlungRecommendation training algorithms

Sie können ein Empfehlungsmodell mithilfe der folgenden Algorithmen trainieren:You can train a recommendation model with the following algorithm: