Two-Class Support Vector Machine
Erstellt ein binäres Klassifizierungsmodell mit dem Support Vector Machine-Algorithmus
Kategorie: Machine Learning/Modell initialisieren/Klassifizierung
Hinweis
Gilt nur für: Machine Learning Studio (klassisch)
Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.
Modulübersicht
In diesem Artikel wird beschrieben, wie Sie das Modul Two-Class Support Vector Machine in Machine Learning Studio (klassisch) verwenden, um ein Modell zu erstellen, das auf dem Support vector machine-Algorithmus basiert.
Support Vector Machines (SVMs) sind eine gut erforschte Klasse von überwachten Learning-Methoden. Diese spezielle Implementierung eignet sich zur Vorhersage von zwei möglichen Ergebnissen, die entweder auf kontinuierlichen oder kategorischen Variablen basieren.
Trainieren Sie das Modell nach dem Definieren der Modellparameter mithilfe eines der Trainingsmodule, und stellen Sie ein markiertes Dataset bereit, das eine Bezeichnungs- oder Ergebnisspalte enthält.
Weitere Informationen zu Support vector machines
Support Vector Machines gehören zu den frühesten Machine Learning-Algorithmen, und SVM-Modelle wurden in vielen Anwendungen verwendet – von der Informationsbeschaffung bis zur Text- und Bildklassifizierung. SVMs können für sowohl Klassifizierungs-als auch Regressionsaufgaben verwendet werden.
Diese SVM-Modell ist ein überwachtes Learning-Modell, für das bezeichnete Daten erforderlich sind. Im Trainingsprozess analysiert der Algorithmus Eingabedaten und erkennt Muster in einem mehrdimensionalen Featureraum namens Hyperebene. Alle Eingabebeispiele werden in diesem Raum als Punkte dargestellt und auf Ausgabekategorien so abgebildet, dass Kategorien durch eine möglichst große Breite geteilt werden und eine Lücke schließen.
Für die Vorhersage ordnet der SVM-Algorithmus neue Beispiele der einen oder anderen Kategorie zu und ordnet sie dem gleichen Raum zu.
Konfigurieren von Two-Class Support Vector Machine
Für diesen Modelltyp wird empfohlen, dass Sie den Datensatz normalisieren, bevor Sie ihn zum Trainieren des Klassifikators verwenden.
Fügen Sie ihrem Experiment in Studio (klassisch) das Modul Two-Class Support Vector Machine hinzu.
Geben Sie an, wie das Modell trainiert werden soll, indem Sie die Option Create trainer mode (Trainermodus erstellen) aktivieren.
Single Parameter (Einzelner Parameter): Wenn Sie wissen, wie Sie das Modell konfigurieren möchten, können Sie einen bestimmten Satz von Werten als Argumente angeben.
Parameterbereich: Wenn Sie sich der besten Parameter nicht sicher sind, können Sie die optimalen Parameter ermitteln, indem Sie mehrere Werte angeben und das Modul Tune Model Hyperparameters verwenden, um die optimale Konfiguration zu finden. Der Trainer durchläuft mehrere Kombinationen der Einstellungen und bestimmt die Kombination der Werte, die das beste Modell erzeugt.
Geben Sie für Anzahl der Iterationen eine Zahl ein, die die Anzahl der beim Erstellen des Modells verwendeten Iterationen angibt.
Dieser Parameter kann verwendet werden, um den Kompromiss zwischen Trainingsgeschwindigkeit und Genauigkeit zu steuern.
Geben Sie für Lambda einen Wert ein, der als Gewichtung für die L1-Regularisierung verwendet werden soll.
Dieser Regularisierungskoeffizient kann zur Optimierung des Modells verwendet werden. Größere Werte führen zu komplexeren Modellen.
Wählen Sie die Option Features normalisieren, wenn Sie Features vor dem Training normalisieren möchten.
Wenn Sie die Normalisierung anwenden, werden die Datenpunkte vor dem Training auf den Mittelwert zentriert und auf eine Einheit der Standardabweichung skaliert.
Wählen Sie die Option In Einheitssphäre projizieren, um die Koeffizienten zu normalisieren.
Das Projizieren von Werten zum Einheitsraum bedeutet, dass die Datenpunkte vor dem Training auf 0 zentriert und auf eine Einheit der Standardabweichung skaliert werden.
Geben Sie unter Zufälliger Ausgangswert einen ganzzahligen Wert ein, der als Ausgangswert verwendet werden soll, wenn Sie die Reproduzierbarkeit über mehrere Ausführungen hinweg sicherstellen möchten. Andernfalls wird ein von der Systemuhr bereitgestellter Wert als Ausgangswert verwendet, was bei jeder Ausführung zu geringfügig unterschiedlichen Ergebnissen führen kann.
Wählen Sie die Option Unbekannte Kategorie zulassen aus, um eine Gruppe für unbekannte Werte in den Trainings- oder Validierungssätzen zu erstellen. In diesem Fall ist das Modell möglicherweise weniger präzise für bekannte Werte, kann aber bessere Vorhersagen für neue (unbekannte) Werte bereitstellen.
Wenn Sie die Option deaktivieren, akzeptiert das Modell nur die Werte, die in den Trainingsdaten enthalten sind.
Verbinden ein bezeichnetes Dataset und eines der Trainingsmodule:
Wenn Sie Create trainer mode (Trainermodus erstellen) auf Single Parameter (Einzelner Parameter) festlegen, müssen Sie das Modul Train Model (Trainieren des Modells) verwenden.
Wenn Sie Create trainer mode (Trainermodus erstellen ) auf Parameter Range (Parameterbereich) festlegen, verwenden Sie die Tune Model Hyperparameters (Optimieren von Modellhyperparametern).
Hinweis
Wenn Sie einen Parameterbereich an Train Model übergeben, wird nur der erste Wert in der Parameterbereichsliste verwendet.
Wenn Sie einen einzelnen Satz von Parameterwerten an das Modul Tune Model Hyperparameters übergeben, werden die Werte ignoriert und die Standardwerte für das Lernmodul verwendet, wenn ein Bereich von Einstellungen für jeden Parameter erwartet wird.
Wenn Sie die Option Parameterbereich auswählen und einen einzelnen Wert für einen Parameter eingeben, wird dieser einzelne wert, den Sie angegeben haben, während des gesamten Sweepings verwendet, auch wenn sich andere Parameter über einen Wertebereich hinweg ändern.
Führen Sie das Experiment aus.
Ergebnisse
Nach Abschluss des Trainings:
Um eine Zusammenfassung der Parameter des Modells zusammen mit den aus dem Training gelernten Featuregewichtungen anzuzeigen, klicken Sie mit der rechten Maustaste auf die Ausgabe von Train Model (Modell trainieren ) oder Tune Model Hyperparameters (Modellparameter optimieren), und wählen Sie Visualize (Visualisieren) aus.
Um mit den trainierten Modellen Vorhersagen zu treffen, verbinden Sie das trainierte Modell mit dem Modul Modell bewerten.
Um eine Kreuzvalidierung für ein bezeichnetes Dataset durchzuführen, verbinden Sie das untrainierte Modell und das Dataset mit Cross-Validate Model.
Beispiele
Beispiele für die Verwendung dieses Lernalgorithmus finden Sie im Azure KI-Katalog:
Direktes Marketing: Verwendet ein SVM-Modell, um Kunden nach Appetency zu klassifizieren.
Vorhersage des Kreditrisikos: Verwendet SVM zur Bewertung des Kreditrisikos.
Vergleichen von Multiklassenklassifizierungen: Verwendet ein SVM-Modell für die Handschrifterkennung.
Technische Hinweise
Dieser Abschnitt enthält Implementierungsdetails, Tipps und Antworten auf häufig gestellte Fragen.
Verwendungstipps
Für diesen Modelltyp wird empfohlen, dass Sie den Datensatz normalisieren, bevor Sie ihn zum Trainieren des Klassifikators verwenden.
Obwohl die aktuelle Forschung Algorithmen mit höherer Genauigkeit entwickelt hat, kann dieser bei einfachen Datasets gut funktionieren, vor allem, wenn es Ihnen mehr auf Geschwindigkeit als auf Exaktheit ankommt. Wenn Sie mit Two-Class Support Vector Model nicht die gewünschten Ergebnisse erzielen, versuchen Sie es mit einer der folgenden Klassifizierungsmethoden.
Modulparameter
Name | Range | type | Standard | Beschreibung |
---|---|---|---|---|
Number of iterations | >=1 | Integer | 1 | Anzahl der Iterationen. |
Lambda | >=double.Epsilon | Float | 0,001 | Gewichtung für L1-Regularisierung. Mit einem Wert ungleich Null wird eine Überanpassung des Modells an das Trainingsdataset vermieden. |
Normalisieren von Merkmalen. | Any | Boolean | True | Bei "True" werden die Merkmale normalisiert. |
Project to the unit-sphere | Any | Boolean | False | Bei "True" werden die Merkmale auf einen Einheitskreis projiziert. |
Random number seed | Any | Integer | Der Ausgangswert für den Zufallszahlen-Generator, der vom Modell verwendet wird Geben Sie keinen Wert an, um den Standardwert zu verwenden. | |
Allow unknown categorical levels | Any | Boolean | True | Bei "True" wird eine zusätzliche Ebene für jede Kategoriespalte erstellt. Alle Ebenen im Testdataset, die nicht im Trainingsdataset zur Verfügung stehen, werden dieser zusätzlichen Ebene zugeordnet. |
Output
Name | Type | BESCHREIBUNG |
---|---|---|
Untrainiertes Modell | Datentabelle | Ein untrainiertes binäres Klassifizierungsmodell. |