Delen via


Converteren naar SVMLight

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Converteert gegevensinvoer naar de indeling die wordt gebruikt door het SVM-Light framework

Categorie: Conversies van gegevensindelingen

Notitie

Van toepassing op: Machine Learning Studio (klassiek)

Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.

Moduleoverzicht

In dit artikel wordt beschreven hoe u de module Converteren naar SVMLight in Machine Learning Studio (klassiek) gebruikt om uw gegevenssets te converteren naar de indeling die wordt gebruikt door SVMLight.

Het SVM-Light framework is ontwikkeld door onderzoekers van de Universiteit van Leiden. De SVM-Light-bibliotheek implementeert de Support Vector Machine van Vapnik, maar de indeling is elders geïmplementeerd en kan worden gebruikt voor veel machine learning-taken, waaronder classificatie en regressie.

Zie SVMLight Support Vector Machine voor meer informatie.

Converteren naar SVMLight configureren

De conversie naar de SVMLight-indeling omvat het converteren van elk geval naar een rij gegevens die begint met het label, gevolgd door functie-waardeparen uitgedrukt als door dubbele punt gescheiden getallen. Het conversieproces identificeert niet automatisch de juiste kolommen. Het is dus belangrijk dat u de kolommen in uw gegevensset voorbereidt voordat u conversie probeert. Zie Gegevens voorbereiden voor conversie voor meer informatie.

  1. Voeg de module Converteren naar SVMLight toe aan uw experiment. U vindt deze module in de categorie Conversies van gegevensindelingen in Machine Learning Studio (klassiek).

  2. Verbinding maken de gegevensset of uitvoer die u wilt converteren naar de SVMLight-indeling.

  3. Voer het experiment uit.

  4. Klik met de rechtermuisknop op de uitvoer van de module, selecteer Downloaden en sla de gegevens op in een lokaal bestand voor wijziging of voor hergebruik met een programma dat ondersteuning biedt voor SVMLight.

Gegevens voorbereiden voor conversie

Ter illustratie van het conversieproces wordt in dit voorbeeld de gegevensset Bloeddonor in Studio (klassiek) gebruikt.

Deze voorbeeldgegevensset heeft de volgende indeling, in tabelvorm.

Recency Frequentie Monetaire Tijd Klas
2 50 12500 98 1
0 13 3250 28 1
1 1 4000 35 1
2 20 5000 45 1
1 24 6000 77 0

Houd er rekening mee dat de labelkolom met de naam [Klasse] in deze gegevensset de laatste kolom in de tabel is. Als u de gegevensset echter converteert naar SVMLight zonder eerst aan te geven dat welke kolom het label bevat, wordt de eerste kolom, [Recency], gebruikt als het label en wordt de kolom [Klasse] behandeld als een functie:

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

Om ervoor te zorgen dat de labels correct worden gegenereerd aan het begin van de rij voor elk geval, moet u twee exemplaren van de module Edit Metadata toevoegen.

  1. Selecteer in het eerste exemplaar van Edit Metadata de labelkolom ([Class]) en selecteer bij Fields de optie Label.

  2. Selecteer in het tweede exemplaar van Edit Metadata alle functiekolommen die u nodig hebt in het geconverteerde bestand ([Recency], [Frequency], [Monetary], [Time]) en selecteer bij Fields de optie Features.

Nadat de kolommen correct zijn geïdentificeerd, kunt u de module Converteren naar SVMLight uitvoeren. Na de conversie hebben de eerste paar rijen van de gegevensset Bloedcellen nu deze indeling:

  • De labelwaarde wordt voorafgegaan door elke vermelding, gevolgd door de waarden voor [Recency], [Frequentie], [Monetaire] en [Time], geïdentificeerd als respectievelijk de functies 1, 2, 3 en 4.

  • De labelwaarde van 0 in de vijfde rij is geconverteerd naar -1. Dit komt doordat SVMLight alleen binaire classificatielabels ondersteunt.

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

U kunt deze tekstgegevens niet rechtstreeks gebruiken voor modellen in Azure ML of visualiseren. U kunt deze echter downloaden naar een lokale share.

Terwijl het bestand is geopend, raden we u aan een opmerkingsregel toe te voegen, #vooraf gegaan door , zodat u notities over de bron of de oorspronkelijke functiekolomnamen kunt toevoegen.

Als u een SVMLight-bestand in Vowpal Wabbit wilt gebruiken en aanvullende wijzigingen wilt aanbrengen, zoals hier wordt beschreven: Conversie naar Vowpal Wabbit Format. Wanneer het bestand klaar is, uploadt u het naar Azure Blob Storage en roept u het rechtstreeks aan vanuit een van de Vowpal Wabbit-modules.

Voorbeelden

Er zijn geen voorbeelden in de Azure AI Gallery: die specifiek zijn voor deze indeling.

Technische opmerkingen

Deze sectie bevat implementatiedetails, tips en antwoorden op veelgestelde vragen.

Gebruikstips

Voor de uitvoerbare bestanden in het SVM-Light framework is zowel een voorbeeldbestand als een modelbestand vereist. Met deze module wordt echter alleen het voorbeeldbestand gemaakt. U moet het modelbestand afzonderlijk maken met behulp van de SVMLight-bibliotheken.

Het voorbeeldbestand is het bestand dat de trainingsvoorbeelden bevat.

  • Optionele header

    De eerste regels kunnen opmerkingen bevatten. Opmerkingen moeten worden vooraf gegaan door het cijferteken (#).

    De uitvoer van de bestandsindeling door Converteren naar SVMLight maakt geen headers. U kunt het bestand bewerken om opmerkingen, een lijst met kolomnamen, enzovoort toe te voegen.

  • Trainingsgegevens

    Elke case heeft een eigen rij. Een case bestaat uit een doelwaarde, gevolgd door een reeks indexen en de bijbehorende functiewaarden.

    De antwoordwaarde moet 1 of -1 zijn voor classificatie, of een getal voor regressie.

    De doelwaarde en elk van de index-waardeparen worden gescheiden door een spatie.

Voorbeeld van trainingsgegevens

In de volgende tabel ziet u hoe de waarden in de kolommen van de gegevensset Two-Class Iris worden geconverteerd naar een weergave waarin elke kolom wordt vertegenwoordigd door een index, gevolgd door een dubbele punt en vervolgens de waarde in die kolom:

Iris-gegevensset Iris-gegevensset geconverteerd naar SVMLight
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

Houd er rekening mee dat de namen van de functiekolommen verloren gaan in de conversie.

SVMLight gebruiken om een Vowpal Wabbit-bestand voor te bereiden

De SVMLight-indeling is vergelijkbaar met de indeling die wordt gebruikt door Vowpal Wabbit. Als u het SVMLight-uitvoerbestand wilt wijzigen in een indeling die kan worden gebruikt voor het trainen van een Vowpal Wabbit-model, voegt u een pipe-symbool toe tussen het label en de lijst met functies.

Vergelijk bijvoorbeeld deze invoerregels:

Vowpal Wabbit-indeling, inclusief optionele opmerking

# 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-indeling, inclusief optionele opmerking

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

Verwachte invoer

Naam Type Description
Gegevensset Gegevenstabel Invoerset

Uitvoer

Naam Type Description
Gegevensset met resultaten SvmLight Uitvoerset

Zie ook

Conversies van gegevensindelingen
Lijst met A-Z-modules