Freigeben über


Convert to SVMLight (Konvertieren in SVMLight)

Wichtig

Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.

Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.

Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.

Konvertiert die Dateneingabe in das vom SVM-Light-Framework verwendete Format

Kategorie: Datenformatkonvertierungen

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 Convert to SVMLight (In SVMLight konvertieren) in Machine Learning Studio (klassisch) verwenden, um Ihre Datasets in das format zu konvertieren, das von SVMLight verwendet wird.

Das SVMLight-Framework wurde von Forschern an der Cornell University entwickelt. Die SVM-Light-Bibliothek implementiert den Support Vector Machine von Vapdos, aber das Format wurde an anderer Stelle übernommen und kann für viele Machine Learning-Aufgaben verwendet werden, einschließlich Klassifizierung und Regression.

Weitere Informationen finden Sie unter SVMLight Support Vector Machine.

Konfigurieren von Convert to SVMLight

Die Konvertierung in das SVMLight-Format umfasst das Konvertieren jedes Falls in eine Datenzeile, die mit der Bezeichnung beginnt, gefolgt von Feature-Wert-Paaren, die als durch Doppelpunkte getrennte Zahlen ausgedrückt werden. Der Konvertierungsprozess identifiziert nicht automatisch die richtigen Spalten. Daher ist es wichtig, dass Sie die Spalten in Ihrem Dataset vorbereiten, bevor Sie die Konvertierung versuchen. Weitere Informationen finden Sie unter Vorbereiten von Daten für die Konvertierung.

  1. Fügen Sie ihrem Experiment das Modul Convert to SVMLight (In SVMLight konvertieren) hinzu. Sie finden dieses Modul in der Kategorie Datenformatkonvertierungen in Machine Learning Studio (klassisch).

  2. Verbinden das Dataset oder die Ausgabe, das bzw. die Sie in das SVMLight-Format konvertieren möchten.

  3. Führen Sie das Experiment aus.

  4. Klicken Sie mit der rechten Maustaste auf die Ausgabe des Moduls, wählen Sie Herunterladen aus, und speichern Sie die Daten zur Änderung oder zur Wiederverwendung mit einem Programm, das SVMLight unterstützt, in einer lokalen Datei.

Vorbereiten von Daten für die Konvertierung

Zur Veranschaulichung des Konvertierungsprozesses wird in diesem Beispiel das Dataset "Blood Identification" in Studio (klassisch) verwendet.

Dieses Beispieldataset weist das folgende Format in tabellarischer Form auf.

Recency (Recency) Häufigkeit Monetären Time Klasse
2 50 12500 98 1
0 13 3250 28 1
1 1 4000 35 1
2 20 5.000 45 1
1 24 6000 77 0

Beachten Sie, dass die Bezeichnungsspalte mit dem Namen [Class] in diesem Dataset die letzte Spalte in der Tabelle ist. Wenn Sie das Dataset jedoch in SVMLight konvertieren, ohne zuerst anzugeben, dass die Spalte die Bezeichnung enthält, wird die erste Spalte [Recency] als Bezeichnung verwendet, und die Spalte [Klasse] wird als Feature behandelt:

2 1:50 2:12500 3:98 4:1
0 1:13 2:3250 3:28 4:1
1 1:16 2:4000 3:35 4:1

Um sicherzustellen, dass die Bezeichnungen am Anfang der Zeile für jeden Fall ordnungsgemäß generiert werden, müssen Sie zwei Instanzen des Moduls Edit Metadata hinzufügen.

  1. Wählen Sie in der ersten Instanz von Edit Metadata (Metadaten bearbeiten) die Bezeichnungsspalte ([Klasse]) aus, und wählen Sie für Felder die Option Label (Bezeichnung) aus.

  2. Wählen Sie in der zweiten Instanz von Edit Metadata (Metadaten bearbeiten) alle Featurespalten aus, die Sie in der konvertierten Datei benötigen ([Recency], [Frequency], [Monetary], [Time]), und wählen Sie für Felderdie Option Features aus.

Nachdem die Spalten richtig identifiziert wurden, können Sie das Modul Convert to SVMLight ausführen. Nach der Konvertierung haben die ersten Zeilen des Datasets "BloodSyns" nun das folgende Format:

  • Der Bezeichnungswert geht jedem Eintrag voraus, gefolgt von den Werten für [Recency], [Frequency], [Monetary] und [Time], die als Features 1, 2, 3 bzw. 4 identifiziert werden.

  • Der Bezeichnungswert 0 in der fünften Zeile wurde in -1 konvertiert. Dies liegt daran, dass SVMLight nur binäre Klassifizierungsbezeichnungen unterstützt.

1 1:2 2:50 3:12500 4:98
1 1:0 2:13 3:3250 4:28
1 1:1 2:16 3:4000 4:35
1 1:2 2:20 3:5000 4:45
-1 1:1 2:24 3:6000 4:77

Sie können diese Textdaten nicht direkt für Modelle in Azure ML verwenden oder visualisieren. Sie können sie jedoch auf eine lokale Freigabe herunterladen.

Während Sie die Datei geöffnet haben, wird empfohlen, eine Kommentarzeile hinzuzufügen, der vorangestellt ist #, damit Sie Notizen zu den Namen der Quell- oder Der ursprünglichen Featurespalte hinzufügen können.

So verwenden Sie eine SVMLight-Datei in Vowpal Wabbit und nehmen weitere Änderungen vor, wie hier beschrieben: Konvertierung in das Vowpal Wabbit-Format. Wenn die Datei bereit ist, laden Sie sie in Azure Blob Storage hoch, und rufen Sie sie direkt aus einem der Vowpal Wabbit-Module auf.

Beispiele

Es gibt keine Beispiele in der Azure KI-Katalog: die für dieses Format spezifisch sind.

Technische Hinweise

Dieser Abschnitt enthält Implementierungsdetails, Tipps und Antworten auf häufig gestellte Fragen.

Verwendungstipps

Die im SVM-Light Framework bereitgestellten ausführbaren Dateien erfordern sowohl eine Beispieldatei als auch eine Modelldatei. Dieses Modul erstellt nur die Beispieldatei. Sie müssen die Modelldatei separat mithilfe der SVMLight-Bibliotheken erstellen.

Die Beispieldatei ist die Datei, die die Trainingsbeispiele enthält.

  • Optionaler Header

    Die ersten Zeilen können Kommentare enthalten. Kommentare müssen mit dem Nummernzeichen (#) als Präfix versehen sein.

    Für das Dateiformat, das von Convert to SVMLight ausgegeben wird, werden keine Header erstellt. Sie können die Datei bearbeiten, um Kommentare, eine Liste von Spaltennamen usw. hinzuzufügen.

  • Trainingsdaten

    Jeder Fall befindet sich in einer eigenen Zeile. Ein Fall besteht aus einem Zielwert, gefolgt von einer Reihe von Indizes und den zugeordneten Featurewerten.

    Der Antwortwert muss für Klassifizierung gleich 1 oder -1 und für Regression eine Zahl sein.

    Der Zielwert und jedes der Index-Wert-Paare werden durch ein Leerzeichen getrennt.

Beispiel für Trainingsdaten

Die folgende Tabelle zeigt, wie die Werte in den Spalten des Datasets Two-Class Iris in eine Darstellung konvertiert werden, in der jede Spalte durch einen Index dargestellt wird, gefolgt von einem Doppelpunkt und dann dem Wert in dieser Spalte:

Iris-Dataset Iris-Dataset nach SVMLight konvertiert
1 6.3 2.9 5.6 1.8 1 1:6.3 2:2.9 3:5.6 4:1.8
0 4.8 3.4 1.6 0.2 -1 1:4.8 2:3.4 3:1.6 4:0.2
1 7.2 3.2 6 1.8 1 1:7.2 2:3.2 3:6 4:1.8

Beachten Sie, dass die Namen der Featurespalten bei der Konvertierung verloren gehen.

Vorbereiten einer Vowpal Wabbit-Datei mithilfe von SVMLight

Das SVMLight-Format ähnelt dem von Vowpal Wabbit verwendeten Format. Um die SVMLight-Ausgabedatei in ein Format zu ändern, das zum Trainieren eines Vowpal Wabbit-Modells verwendet werden kann, fügen Sie einfach ein Pipesymbol zwischen der Bezeichnung und der Liste der Features hinzu.

Vergleichen Sie beispielsweise die folgenden Eingabezeilen:

Vowpal Wabbit-Format, einschließlich optionaler Kommentare

# features are [Recency], [Frequency], [Monetary], [Time]
1 | 1:2 2:50 3:12500 4:98
1 | 1:0 2:13 3:3250 4:28

SVMLight-Format, einschließlich optionaler Kommentare

# features are [Recency], [Frequency], [Monetary], [Time]
1 1:2 2:50 3:12500 4:98
1 1:0 2:13 3:3250 4:28

Erwartete Eingaben

Name Type Beschreibung
Dataset Datentabelle Eingabedataset

Output

Name Type Beschreibung
Ergebnisdataset SvmLight Ausgabedataset

Siehe auch

Datenformatkonvertierungen
Modulliste von A bis Z