Share via


Konvertera till SVMLight

Viktigt

Stödet för Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.

Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.

Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.

Konverterar indata till det format som används av SVM-Light ramverket

Kategori: Dataformatkonverteringar

Anteckning

Gäller endast för: Machine Learning Studio (klassisk)

Liknande dra och släpp-moduler är tillgängliga i Azure Machine Learning designer.

Modulöversikt

I den här artikeln beskrivs hur du använder modulen Convert to SVMLight i Machine Learning Studio (klassisk) för att konvertera dina datauppsättningar till det format som används av SVMLight.

Ramverket SVM-Light har utvecklats av forskare vid Cornell University. Biblioteket SVM-Light implementerar Vapstans stödvektormaskin, men formatet har implementerats någon annanstans och kan användas för många maskininlärningsuppgifter, inklusive klassificering och regression.

Mer information finns i SVMLight Support Vector Machine.

Så här konfigurerar du Convert to SVMLight

Konverteringen till SVMLight-format innebär att varje ärende konverteras till en rad med data som börjar med etiketten, följt av funktion/värde-par uttryckta som kolonavgränsade tal. Konverteringsprocessen identifierar inte rätt kolumner automatiskt, så det är viktigt att du förbereder kolumnerna i datauppsättningen innan du försöker konvertera. Mer information finns i Förbereda data för konvertering.

  1. Lägg till modulen Convert to SVMLight (Konvertera till SVMLight ) i experimentet. Du hittar den här modulen i kategorin Dataformatkonverteringar i Machine Learning Studio (klassisk).

  2. Anslut den datauppsättning eller de utdata som du vill konvertera till SVMLight-format.

  3. Kör experimentet.

  4. Högerklicka på modulens utdata, välj Ladda ned och spara data i en lokal fil för ändring eller för återanvändning med ett program som stöder SVMLight.

Förbereda data för konvertering

För att illustrera konverteringsprocessen använder det här exemplet datamängden Blood Dataset in Studio (klassisk).

Den här exempeldatamängden har följande format, i tabellform.

Inkonsekvens Frekvens Monetära Tid Klass
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

Observera att etikettkolumnen med namnet [Class] i den här datamängden är den sista kolumnen i tabellen. Men om du konverterar datauppsättningen till SVMLight utan att först ange vilken kolumn som innehåller etiketten, används den första kolumnen , [Recency], som etikett och kolumnen [Class] behandlas som en funktion:

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

För att säkerställa att etiketterna genereras korrekt i början av raden för varje ärende måste du lägga till två instanser av modulen Redigera metadata .

  1. I den första instansen av Redigera metadata väljer du etikettkolumnen ([Class]) och för Fält väljer du Etikett.

  2. I den andra instansen av Redigera metadata väljer du alla egenskapskolumner som du behöver i den konverterade filen ([Rekändhet], [Frekvens], [Penningvärde], [Tid]) och för Fält väljer duFunktioner.

När kolumnerna har identifierats korrekt kan du köra modulen Konvertera till SVMLight . Efter konverteringen har de första raderna i datamängden Förser dig med följande format:

  • Etikettvärdet föregår varje post, följt av värdena för [Recency], [Frequency], [Monetary] och [Time], som identifierats som funktionerna 1, 2, 3 respektive 4.

  • Etikettvärdet 0 på den femte raden har konverterats till -1. Det beror på att SVMLight endast stöder binära klassificeringsetiketter.

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

Du kan inte använda dessa textdata direkt för modeller i Azure ML eller visualisera dem. Du kan dock ladda ned den till en lokal resurs.

När du har filen öppen rekommenderar vi att du lägger till en kommentarsrad som #föregås av , så att du kan lägga till anteckningar om källan eller de ursprungliga kolumnnamnen för funktionen.

Om du vill använda en SVMLight-fil i Vowpal Wabbit och göra ytterligare ändringar enligt beskrivningen här: Konvertering till Vowpal Wabbit-format. När filen är klar laddar du upp den till Azure Blob Storage och anropar den direkt från en av Vowpal Wabbit-modulerna.

Exempel

Det finns inga exempel i Azure AI Gallery: som är specifika för det här formatet.

Teknisk information

Det här avsnittet innehåller implementeringsinformation, tips och svar på vanliga frågor.

Användningstips

De körbara filer som finns SVM-Light ramverket kräver både en exempelfil och en modellfil. Den här modulen skapar dock bara exempelfilen. Du måste skapa modellfilen separat med hjälp av SVMLight-biblioteken.

Exempelfilen är filen som innehåller träningsexempel.

  • Valfritt sidhuvud

    De första raderna kan innehålla kommentarer. Kommentarer måste föregås av nummertecknet (#).

    Filformatutdata från Konvertera till SVMLight skapar inte rubriker. Du kan redigera filen om du vill lägga till kommentarer, en lista med kolumnnamn och så vidare.

  • Träningsdata

    Varje ärende finns på en egen rad. Ett ärende består av ett målvärde följt av en serie index och associerade funktionsvärden.

    Svarsvärdet måste vara 1 eller -1 för klassificering, eller ett tal för regression.

    Målvärdet och vart och ett av index/värde-paren avgränsas med ett blanksteg.

Exempel på träningsdata

I följande tabell visas hur värdena i kolumnerna i Two-Class Iris-datauppsättningen konverteras till en representation där varje kolumn representeras av ett index, följt av ett kolon och sedan värdet i kolumnen:

Iris-datauppsättning Iris-datauppsättning konverterad till 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

Observera att namnen på egenskapskolumnerna går förlorade i konverteringen.

Använda SVMLight för att förbereda en Vowpal Wabbit-fil

SVMLight-formatet liknar det format som används av Vowpal Wabbit. Om du vill ändra SVMLight-utdatafilen till ett format som kan användas för träning av en Vowpal Wabbit-modell lägger du bara till en pipe-symbol mellan etiketten och listan över funktioner.

Jämför till exempel dessa rader med indata:

Vowpal Wabbit-format, inklusive valfri kommentar

# 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, inklusive valfri kommentar

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

Förväntade indata

Namn Typ Description
Datamängd Datatabell Indatauppsättning

Utdata

Namn Typ Description
Resultatdatauppsättning SvmLight Utdatauppsättning

Se även

Konverteringar av dataformat
A-Z-modullista