Freigeben über


Auswählen von Algorithmen für Azure Machine Learning

Von Bedeutung

Dieser Artikel enthält Informationen zur Verwendung des Azure Machine Learning SDK v1. SDK v1 ist ab dem 31. März 2025 veraltet. Der Support für sie endet am 30. Juni 2026. Sie können SDK v1 bis zu diesem Datum installieren und verwenden. Ihre vorhandenen Workflows mit SDK v1 funktionieren weiterhin nach dem Enddatum des Supports. Sie können jedoch Sicherheitsrisiken oder Breaking Changes im Falle von Architekturänderungen im Produkt ausgesetzt sein.

Es wird empfohlen, vor dem 30. Juni 2026 zum SDK v2 zu wechseln. Weitere Informationen zu SDK v2 finden Sie unter Was ist Azure Machine Learning CLI und Python SDK v2? und die SDK v2-Referenz.

Wenn Sie sich fragen, welcher Machine Learning-Algorithmus verwendet werden soll, hängt die Antwort in erster Linie von zwei Aspekten Ihres Data-Science-Szenarios ab:

  • Was möchten Sie mit Ihren Daten tun? Wie genau lautet die geschäftliche Frage, die Sie beantworten möchten, indem Sie aus Ihren bisherigen Daten lernen?

  • Welche Anforderungen gelten für Ihr Data Science-Szenario? Welche Features, Genauigkeit, Trainingsdauer, Linearität und Parameter unterstützt Ihre Lösung?

Diagramm, das Überlegungen zur Auswahl von Machine Learning-Algorithmen zeigt

Hinweis

Der Azure Machine Learning-Designer unterstützt zwei Komponententypen: klassische vorkonfigurierte Komponenten (v1) und benutzerdefinierte Komponenten (v2). Diese beiden Komponententypen sind NICHT kompatibel.

Klassische vorkonfigurierte Komponenten sind vor allem für die Datenverarbeitung und für herkömmliche Machine Learning-Aufgaben wie Regression und Klassifizierung vorgesehen. Dieser Komponententyp wird weiterhin unterstützt, es werden jedoch keine neuen Komponenten hinzugefügt.

Benutzerdefinierte Komponenten ermöglichen es Ihnen, Ihren eigenen Code als Komponente bereitzustellen. Sie unterstützen die arbeitsbereichsübergreifende Freigabe und die reibungslose Dokumenterstellung über Studio-, CLI v2- und SDK v2-Schnittstellen.

Für neue Projekte wird dringend empfohlen, benutzerdefinierte Komponenten zu verwenden, die mit AzureML V2 kompatibel sind und neue Updates erhalten.

Dieser Artikel gilt für klassische vordefinierte Komponenten und ist nicht mit CLI v2 und SDK v2 kompatibel.

Azure Machine Learning – Cheat Sheet für Algorithmen

Der Spickzettel zu Azure Machine Learning-Algorithmen hilft Ihnen bei der ersten Überlegung: Was möchten Sie mit Ihren Daten tun? Suchen Sie auf dem Spickzettel nach der Aufgabe, die Sie erledigen möchten, und suchen Sie dann einen Azure Machine Learning-Designer-algorithmus für die Predictive-Analytics-Lösung.

Hinweis

Sie können den Spickzettel für Machine Learning-Algorithmen herunterladen.

Der Designer bietet ein umfassendes Portfolio an Algorithmen, darunter:

Jeder Algorithmus ist speziell auf eine andere Art von Machine Learning-Problem ausgelegt. Eine vollständige Liste sowie Dokumentation zur Funktionsweise der einzelnen Algorithmus und zur Optimierung der Parameter finden Sie im Algorithmus- und Komponentenverweis.

Beachten Sie zusammen mit diesem Leitfaden auch andere Anforderungen, wenn Sie einen Maschinellen Lernalgorithmus auswählen. Es folgen weitere Faktoren, die berücksichtigt werden sollten, z. B. Genauigkeit, Trainingszeit, Linearität, Anzahl von Parametern und Anzahl der Features.

Vergleich von Algorithmen für maschinelles Lernen

Einige Algorithmen treffen bestimmte Annahmen über die Struktur der Daten oder der gewünschten Ergebnisse. Wenn Sie einen finden können, der Ihren Anforderungen entspricht, kann es nützlichere Ergebnisse, genauere Vorhersagen oder schnellere Trainingszeiten geben.

In der folgenden Tabelle werden einige der wichtigsten Merkmale von Algorithmen aus den Familien Klassifizierung, Regression und Clustering zusammengefasst:

Algorithmus Genauigkeit Trainingsdauer Linearität Parameter Hinweise
Familie Klassifizierung
Logistische Regression mit zwei Klassen Gut Schnell Ja 4
Entscheidungswald mit zwei Klassen Hervorragend Moderat Nein 5 Bei diesem Algorithmus kommt es zu längeren Bewertungszeiten. Wir empfehlen, nicht mit One-vs-All Multiclass zu arbeiten, da durch die Threadsperrung bei der Akkumulation von Baumvorhersagen langsamere Bewertungszeiten verursacht werden.
Verstärkte Entscheidungsstruktur mit zwei Klassen Hervorragend Moderat Nein 6 Hoher Speicherbedarf
Neuronales Netz mit zwei Klassen Gut Moderat Nein 8
Gemitteltes Perzeptron mit zwei Klassen Gut Moderat Ja 4
Support Vector Machine mit zwei Klassen Gut Schnell Ja 5 Für große Merkmalssätze geeignet
Logistische Regression mit mehreren Klassen Gut Schnell Ja 4
Entscheidungswald mit mehreren Klassen Hervorragend Moderat Nein 5 Bei diesem Algorithmus kommt es zu längeren Bewertungszeiten.
Verstärkte Entscheidungsstruktur mit mehreren Klassen Hervorragend Moderat Nein 6 Verbessert tendenziell die Genauigkeit, allerdings mit einem geringen Risiko einer geringeren Abdeckung
Neuronales Netz mit mehreren Klassen Gut Moderat Nein 8
One-vs-All-Klassifizierung mit mehreren Klassen - - - - Siehe die Eigenschaften der ausgewählten zweiklassigen Methode
Familie Regression
Lineare Regression Gut Schnell Ja 4
Regression mit Entscheidungswald Hervorragend Moderat Nein 5
Regression mit verstärkter Entscheidungsstruktur Hervorragend Moderat Nein 6 Hoher Speicherbedarf
Regression mit neuronalem Netz Gut Moderat Nein 8
Familie Clustering
k-Means-Clustering Hervorragend Moderat Ja 8 Clusteringalgorithmus

Anforderungen für Data-Science-Szenarios

Nachdem Sie wissen, was Sie mit Ihren Daten tun möchten, müssen Sie andere Anforderungen für Ihr Data Science-Szenario ermitteln.

Treffen Sie Entscheidungen und möglicherweise Kompromisse für die folgenden Anforderungen:

  • Genauigkeit
  • Trainingsdauer
  • Linearität
  • Anzahl von Parametern
  • Anzahl von Merkmalen

Genauigkeit

Die Genauigkeit beim maschinellen Lernen misst die Wirksamkeit eines Modells als Anteil der tatsächlichen Ergebnisse an der Gesamtzahl der Fälle. Im Designer berechnet die Komponente Modell bewerten eine Reihe von standardisierten Bewertungsmetriken. Sie können diese Komponente verwenden, um die Genauigkeit eines trainierten Modells zu messen.

Eine so genaue Antwort wie möglich zu erhalten, ist nicht immer erforderlich. Manchmal ist ein Näherungswert ausreichend, je nachdem, wofür Sie ihn verwenden möchten. Wenn dies der Fall ist, können Sie die Verarbeitungszeit möglicherweise erheblich verringern, indem Sie stärker Näherungsmethoden verwenden. Näherungsmethoden neigen natürlich auch dazu, eine Überanpassung zu vermeiden.

Es gibt drei Möglichkeiten, die Komponente Modell auswerten zu verwenden:

  • Generieren Sie Bewertungen über Ihre Schulungsdaten, um das Modell auszuwerten.
  • Generieren Sie Ergebnisse für das Modell, vergleichen Sie diese aber mit Ergebnissen für ein reserviertes Testdataset.
  • Vergleichen Sie die Ergebnisse für zwei verschiedene, aber zusammengehörige Modelle unter Verwendung desselben Datasets.

Eine vollständige Liste der Metriken und Ansätze, die Sie zur Bewertung der Genauigkeit von Modellen des maschinellen Lernens verwenden können, finden Sie unter Modellkomponente auswerten.

Trainingsdauer

Beim beaufsichtigten Lernen bedeutet Training die Verwendung historischer Daten zur Erstellung eines Machine Learning-Modells, das Fehler minimiert. Die Anzahl der Minuten oder Stunden, die zum Trainieren eines Modells notwendig sind, variieren sehr stark von Algorithmus zu Algorithmus. Die Trainingsdauer ist oft eng an die Genauigkeit gebunden. Das eine geht in der Regel mit dem anderen einher.

Darüber hinaus reagieren einige Algorithmen empfindlicher auf die Anzahl der Datenpunkte als andere. Aufgrund der vorliegenden zeitlichen Begrenzung könnten Sie einen bestimmten Algorithmus auswählen, insbesondere wenn das Dataset groß ist.

Im Designer werden Machine Learning-Modelle in der Regel in einem dreistufigen Prozess erstellt und verwendet:

  1. Konfigurieren eines Modells, indem Sie einen bestimmten Algorithmustyp auswählen und dann seine Parameter oder Hyperparameter definieren.

  2. Stellen Sie ein beschriftetes Dataset bereit, das mit dem Algorithmus kompatibel ist. Verbinden Sie sowohl die Daten als auch das Modell mit der Komponente Modell trainieren.

  3. Nach Abschluss des Trainings verwenden Sie das trainierte Modell mit einer der Score-Komponenten, um Vorhersagen für neue Daten zu treffen.

Linearität

Linearität in der Statistik und beim maschinellen Lernen bedeutet, dass es eine lineare Beziehung zwischen einer Variablen und einer Konstanten in Ihrem Dataset besteht. Beispielsweise gehen lineare Klassifizierungsalgorithmen davon aus, dass eine gerade Linie oder ihr höherdimensionaler Analoge Klassen trennen kann.

Viele Algorithmen für maschinelles Lernen nutzen Linearität. Im Azure Machine Learning-Designer umfassen sie Folgendes:

Linear Regressionsalgorithmen gehen davon aus, dass Datentrends einer geraden Linie folgen. Diese Annahme ist für einige Probleme durchaus angemessen, aber für andere verringert sie die Genauigkeit. Trotz ihrer Nachteile sind lineare Algorithmen als erste Strategie beliebt. Sie sind tendenziell algorithmisch einfach und lassen sich schnell trainieren.

Diagramm, das eine nicht lineare Klassengrenze zeigt

Nicht lineare Klassengrenze: Die Verwendung eines linearen Klassifizierungsalgorithmus würde zu einer verringerten Genauigkeit führen.

Diagramm, das Daten mit einem nichtlinearen Trend zeigt

Daten mit einem nicht linearen Trend: Die Verwendung einer linearen Regressionsmethode würde wesentlich höhere Fehler erzeugen als nötig.

Anzahl von Parametern

Parameter sind die Knöpfe, an denen eine wissenschaftliche Fachkraft für Daten drehen kann, wenn sie einen Algorithmus einrichtet. Sie sind Zahlen, die sich auf das Verhalten des Algorithmus auswirken. Beispiele sind Fehlertoleranz oder Anzahl von Iterationen und Optionen zwischen Varianten des Verhaltens des Algorithmus.

Die Schulungszeit und Genauigkeit des Algorithmus können sensibel auf die richtigen Einstellungen reagieren. Normalerweise erfordern Algorithmen mit vielen Parametern die meisten Testversuche, um eine gute Kombination zu finden.

Alternativ gibt es die KomponenteModellhyperparameter optimieren im Designer. Das Ziel dieser Komponente besteht darin, die optimalen Hyperparameter für ein Machine Learning-Modell zu ermitteln. Die Komponente erstellt und testet mehrere Modelle unter Verwendung verschiedener Kombinationen von Einstellungen. Die Metriken werden über alle Modelle hinweg verglichen, um die Kombinationen der Einstellungen zu erhalten.

Obwohl dieser Ansatz eine hervorragende Möglichkeit ist, sicherzustellen, dass Sie den Parameterbereich überspannen, erhöht sich die Zeit, die zum Trainieren eines Modells erforderlich ist, exponentiell mit der Anzahl der Parameter. Der Vorteil ist, dass das Vorhandensein vieler Parameter normalerweise darauf hindeutet, dass ein Algorithmus über größere Flexibilität verfügt. Er erreicht oft eine hervorragende Genauigkeit, vorausgesetzt, dass Sie die richtige Kombination von Parametereinstellungen finden.

Anzahl von Merkmalen

Beim maschinellen Lernen ist ein Feature eine quantifizierbare Variable des Phänomens, das Sie zu analysieren versuchen. Bei bestimmten Datentypen kann die Anzahl der Merkmale im Vergleich zur Anzahl der Datenpunkte sehr groß sein. Diese Situation ist oft bei Genetischen oder Textdaten der Fall.

Eine große Anzahl von Merkmalen kann bei einigen Lernalgorithmen dazu führen, dass sie sich verzetteln, was impraktikabel lange Trainingsdauern nach sich zieht. Vektorcomputer unterstützen eignen sich besonders gut für Szenarios mit einer hohen Anzahl von Features. Aus diesem Grund werden sie in vielen Anwendungen von der Informationssuche bis hin zur Text- und Bildklassifikation verwendet. Support Vector Machines können für sowohl Klassifizierungs-als auch Regressionsaufgaben verwendet werden.

„Feature Selection“ (Auswahl von Merkmalen) bezieht sich auf die Anwendung statistischer Tests auf Eingaben, wenn eine Ausgabe angegeben ist. Das Ziel besteht in der Bestimmung der Spalten, die für die Ausgabe aussagekräftiger sind. Die Komponente Filterbasierte Featureauswahl im Designer bietet mehrere Featureauswahlalgorithmen. Die Komponente umfasst Korrelationsmethoden wie die Pearson-Korrelation und Chi-Quadrat-Werte.

Sie können auch die Komponente Permutation Feature Importance verwenden, um einen Satz von Feature Importance Scores für Ihren Datensatz zu berechnen. Sie können dann diese Bewertungen nutzen, um die besten Features zur Verwendung in einem Modell zu bestimmen.