Freigeben über


One-vs-All-Multiklasse

In diesem Artikel erfahren Sie, wie Sie die Komponente „One-vs-All-Multiklasse“ im Azure Machine Learning-Designer verwenden. Das Ziel besteht darin, ein Klassifizierungsmodell zu erstellen, das mehrere Klassen unter Verwendung des One-vs-All-Ansatzes vorhersagen kann.

Diese Komponente ist nützlich zum Erstellen von Modellen, mit denen drei oder mehr mögliche Ergebnisse vorhergesagt werden, wenn das Ergebnis von kontinuierlichen oder kategorialen Vorhersagevariablen abhängt. Mit dieser Methode können Sie auch Binärklassifizierungsmethoden für Probleme verwenden, die mehrere Ausgabeklassen erfordern.

Weitere Informationen zu One-vs-All-Modellen

Einige Klassifizierungsalgorithmen sind so gestaltet, dass sie die Verwendung von mehr als zwei Klassen ermöglichen. Bei anderen sind die möglichen Ergebnisse auf einen von zwei Werten beschränkt (binäres Modell oder Zweiklassenmodell). Allerdings gibt es auch für Binärklassifizierungsalgorithmen verschiedene Strategien, um sie an Multiklassen-Klassifizierungsaufgaben anzupassen.

In dieser Komponente wird die „One-vs-All“-Methode implementiert, in der ein binäres Modell für jede der Ausgabeklassen erstellt wird. Die Komponente bewertet jedes dieser binären Modelle für die einzelnen Klassen anhand seines Komplements (alle anderen Klassen im Modell), als wäre es ein Binärklassifizierungsproblem. Dieser Ansatz bietet nicht nur mehr Effizienz in Bezug auf Berechnungen (es werden nur n_classes-Klassifizierer benötigt), sondern zudem den Vorteil einer hohen Interpretierbarkeit. Da jede Klasse durch nur einen einzigen Klassifizierer dargestellt wird, ist es möglich, durch Untersuchen des entsprechenden Klassifizierers Informationen über die Klasse zu erhalten. Dies ist die gängigste Strategie für die Multiklassenklassifizierung und eine sinnvolle Standardauswahl. Für die Vorhersage führt die Komponente dann diese binären Klassifizierer aus und wählt die Vorhersage mit dem höchsten Konfidenzscore.

Im Wesentlichen erstellt die Komponente eine Zusammenstellung einzelner Modelle und führt die Ergebnisse anschließend zusammen, um ein einzelnes Modell zu erstellen, das alle Klassen vorhersagt. Jeder binäre Klassifizierer kann als Grundlage für ein One-vs-All-Modell verwendet werden.

Ein Beispiel: Angenommen, Sie konfigurieren ein Modell vom Typ Two-Class Support Vector Machine (2-Klassen-Support Vector Machine) und stellen dieses Modell als Eingabe für die Komponente „One-vs-All-Multiklasse“ bereit. Die Komponente erstellt daraufhin Modelle vom Typ „Two-Class Support Vector Machine“ (2-Klassen-Support Vector Machine) für alle Elemente der Ausgabeklasse. Anschließend wendet es die One-vs-All-Methode an, um die Ergebnisse für alle Klassen zu kombinieren.

Die Komponente verwendet „OneVsRest“-Klassifizierer von „sklearn“. Weitere Informationen finden Sie hier.

Konfigurieren des Klassifizierers „One-vs-All-Multiklasse“

Diese Komponente erstellt eine Zusammenstellung von Binärklassifizierungsmodellen, um mehrere Klassen zu analysieren. Wenn Sie diese Komponente verwenden möchten, müssen Sie zunächst ein Modell vom Typ Binärklassifizierung konfigurieren und trainieren.

Das binäre Modell wird mit der Komponente „One-vs-All-Multiklasse“ verbunden. Anschließend trainieren Sie die Zusammenstellung von Modellen, indem Sie Train Model (Modell trainieren) mit einem bezeichneten Trainingsdataset verwenden.

Wenn Sie die Modelle kombinieren, erstellt „One-vs-All-Multiklasse“ mehrere Binärklassifizierungsmodelle, optimiert den Algorithmus für jede Klasse und führt die Modelle anschließend zusammen. Die Komponente führt diese Aufgaben aus, obwohl das Trainingsdataset mehrere Klassenwerte enthalten kann.

  1. Fügen Sie die Komponente „One-vs-All-Multiklasse“ Ihrer Pipeline im Designer hinzu. Sie finden diese Komponente unter Machine Learning – Initialisieren in der Kategorie Klassifizierung.

    Der Klassifizierer „One-vs-All-Multiklasse“ hat keine eigenen konfigurierbaren Parameter. Alle Anpassungen müssen im Binärklassifizierungsmodell vorgenommen werden, das als Eingabe bereitgestellt wird.

  2. Fügen Sie ein Binärklassifizierungsmodell zur Pipeline hinzu, und konfigurieren Sie dieses Modell. Sie können beispielsweise Two-Class Support Vector Machine (2-Klassen-Support Vector Machine) oder Two-Class Boosted Decision Tree (Verstärkter Entscheidungsbaum mit zwei Klassen) verwenden.

  3. Fügen Sie Ihrer Pipeline die Komponente Train Model (Modell trainieren) hinzu. Stellen Sie eine Verbindung mit dem untrainierten Klassifizierer her, der von „One-vs-All-Multiklasse“ ausgegeben wird.

  4. Stellen Sie für die andere Eingabe von Train Model (Modell trainieren) eine Verbindung mit einem bezeichneten Trainingsdataset her, das über mehrere Klassenwerte verfügt.

  5. Übermitteln Sie die Pipeline.

Ergebnisse

Nachdem das Training abgeschlossen ist, können Sie das Modell verwenden, um Multiklassenvorhersagen zu treffen.

Alternativ können Sie den untrainierten Klassifizierer an Cross-Validate Model (Kreuzvalidierung für Modell ausführen) übergeben, um eine Kreuzvalidierung anhand eines bezeichneten Validierungsdatasets auszuführen.

Nächste Schritte

Hier finden Sie die für Azure Machine Learning verfügbaren Komponenten.