Converteren naar SVMLight

Hiermee wordt de gegevens invoer geconverteerd naar de indeling die wordt gebruikt door het SVM-Light Framework

Categorie: gegevens indeling conversies

Notitie

Van toepassing op : machine learning Studio (klassiek)

Deze inhoud is alleen van toepassing op Studio (klassiek). Er zijn Vergelijk bare modules voor slepen en neerzetten toegevoegd aan Azure Machine Learning Designer. In dit artikel vindt u meer informatie over de twee versies.

Module overzicht

In dit artikel wordt beschreven hoe u de module Convert to SVMLight in azure machine learning Studio (klassiek) gebruikt om uw gegevens sets te converteren naar de indeling die wordt gebruikt door SVMLight.

Het SVM-Light Framework is ontwikkeld door onderzoekers op Cornell University. De SVM-Light-bibliotheek implementeert de Vapnik Support Vector machine, maar de indeling is elders aangenomen en kan worden gebruikt voor veel machine learning taken, waaronder classificatie en regressie.

Zie SVMLight Support Vector machine(Engelstalig) voor meer informatie.

Conversie naar SVMLight configureren

De conversie naar de SVMLight-indeling houdt in dat elke case wordt geconverteerd naar een rij met gegevens die begint met het label, gevolgd door de combi natie van functie waarden, uitgedrukt in getallen met dubbele door komma's gescheiden waarden. Het conversie proces identificeert niet automatisch de juiste kolommen. Daarom is het belang rijk dat u de kolommen in uw gegevensset voorbereidt voordat u een conversie uitvoert. Zie gegevens voorbereiden voor conversievoor meer informatie.

  1. Voeg de module Convert to SVMLight toe aan uw experiment. U kunt deze module vinden in de categorie gegevens indeling conversies in azure machine learning Studio (klassiek).

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

  3. Voer het experiment uit.

  4. Klik met de rechter muisknop op de uitvoer van de module, selecteer downloadenen sla de gegevens op in een lokaal bestand voor wijziging of hergebruik met een programma dat SVMLight ondersteunt.

Gegevens voorbereiden voor conversie

In dit voor beeld wordt de bloeddonor gegevensset in Studio (klassiek) gebruikt om het conversie proces te illustreren.

Deze voor beeld-gegevensset heeft de volgende indeling, in tabel vorm.

Recency Frequency Geldelijk 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 kolom Label, met de naam [class] in deze gegevensset, de laatste kolom in de tabel is. Als u de gegevensset echter converteert naar SVMLight zonder eerst te geven dat de kolom de label bevat, wordt de eerste kolom, [Recency], gebruikt als label en wordt de kolom [class] beschouwd 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 elke case, moet u twee exemplaren van de module meta data bewerken toevoegen.

  1. In het eerste exemplaar van meta gegevens bewerken, selecteert u de kolom Label ([klasse]) en voor veldenselecteert u Label.

  2. Selecteer in het tweede exemplaar van meta gegevens bewerkenalle functie kolommen die u nodig hebt in het geconverteerde bestand ([Recency], [Frequency], [monetaire], [time]) en voor velden, selecteer onderdelen.

Nadat de kolommen correct zijn geïdentificeerd, kunt u de module Convert to SVMLight uitvoeren. Na de conversie hebben de eerste paar rijen van de gegevens verzameling van de bloed donateur deze notatie:

  • De label waarde wordt voorafgegaan door elk item, gevolgd door de waarden voor [Recency], [Frequency], [monetair] en [time], aangeduid als de onderdelen 1, 2, 3 en 4.

  • De label waarde 0 in de vijfde rij is geconverteerd naar-1. Dit komt doordat SVMLight alleen binaire classificatie labels 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 tekst gegevens niet rechtstreeks gebruiken voor modellen in azure ML of visualiseren. U kunt deze echter downloaden naar een lokale share.

Wanneer u het bestand hebt geopend, raden we u aan een opmerkings regel toe te voegen, voorafgegaan door # , zodat u opmerkingen over de bron of de oorspronkelijke functie kolom namen 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-indeling. Wanneer het bestand gereed is, uploadt u het naar Azure Blob-opslag en roept u het rechtstreeks aan vanuit een van de Vowpal Wabbit-modules.

Voorbeelden

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

Technische opmerkingen

Deze sectie bevat implementatie details, tips en antwoorden op veelgestelde vragen.

Gebruiks tips

Voor de uitvoer bare bestanden in het SVM-Light Framework zijn een voorbeeld bestand en een model bestandvereist. Deze module maakt echter alleen het voorbeeld bestand. U moet het model bestand afzonderlijk maken met behulp van de SVMLight-bibliotheken.

Het voorbeeld bestand is het bestand dat de voor beelden van de training bevat.

  • Optionele header

    De eerste regels kunnen opmerkingen bevatten. Opmerkingen moeten worden voorafgegaan door een hekje (#).

    De uitvoer van de bestands indeling door te converteren naar SVMLight maakt geen headers. U kunt het bestand bewerken om opmerkingen toe te voegen, een lijst met kolom namen, enzovoort.

  • Trainingsgegevens

    Elke case bevindt zich op een eigen rij. Een case bestaat uit een doel waarde gevolgd door een reeks indexen en de bijbehorende functie waarden.

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

    De doel waarde en elk van de paren met index waarden worden gescheiden door een spatie.

Voor beeld van trainings gegevens

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

Iris gegevensset Iris gegevensset is 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: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 functie kolommen verloren gaan in de conversie.

SVMLight gebruiken om een Vowpal Wabbit-bestand voor te bereiden

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

Vergelijkt bijvoorbeeld deze regels met invoer:

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 Beschrijving
Gegevensset Gegevens tabel Invoer gegevensset

Uitvoer

Naam Type Beschrijving
Gegevensset voor resultaten SvmLight Uitvoer gegevensset

Zie ook

Conversies van gegevens indeling
Module lijst a-Z