Komponenten Dela data
I den här artikeln beskrivs en komponent i Azure Machine Learning-designern.
Använd komponenten Dela data för att dela upp en datamängd i två distinkta uppsättningar.
Den här komponenten är användbar när du behöver dela upp data i tränings- och testuppsättningar. Du kan också anpassa hur data delas upp. Vissa alternativ stöder randomisering av data. Andra är skräddarsydda för en viss datatyp eller modelltyp.
Konfigurera komponenten
Dricks
Innan du väljer delningsläge läser du alla alternativ för att fastställa vilken typ av delning du behöver. Om du ändrar delningsläget kan alla andra alternativ återställas.
Lägg till komponenten Dela data i pipelinen i designern. Du hittar den här komponenten under Datatransformering i kategorin Exempel och Dela .
Delningsläge: Välj något av följande lägen, beroende på vilken typ av data du har och hur du vill dela upp dem. Varje delningsläge har olika alternativ.
Dela upp rader: Använd det här alternativet om du bara vill dela upp data i två delar. Du kan ange procentandelen data som ska placeras i varje delning. Som standard delas data 50/50.
Du kan också randomisera valet av rader i varje grupp och använda stratifierad sampling. I stratifierad sampling måste du välja en enda kolumn med data som du vill att värden ska fördelas jämnt mellan de två resultatdatauppsättningarna för.
Delning av reguljära uttryck: Välj det här alternativet när du vill dela upp datauppsättningen genom att testa en enda kolumn för ett värde.
Om du till exempel analyserar sentiment kan du söka efter förekomsten av ett visst produktnamn i ett textfält. Du kan sedan dela upp datamängden i rader med målproduktnamnet och raderna utan målproduktnamnet.
Relativ uttrycksdelning: Använd det här alternativet när du vill tillämpa ett villkor på en talkolumn. Talet kan vara ett datum-/tidsfält, en kolumn som innehåller ålders- eller dollarbelopp, eller till och med en procentandel. Du kanske till exempel vill dela upp datamängden baserat på kostnaden för objekten, gruppera personer efter åldersintervall eller separera data efter ett kalenderdatum.
Dela upp rader
Lägg till komponenten Dela data i pipelinen i designern och anslut den datauppsättning som du vill dela upp.
För Delningsläge väljer du Dela rader.
Del av rader i den första utdatauppsättningen: Använd det här alternativet för att avgöra hur många rader som ska gå till den första (vänstra sidan) utdata. Alla andra rader kommer att gå in i den andra (höger sida) utdata.
Förhållandet representerar procentandelen rader som skickas till den första utdatauppsättningen, så du måste ange ett decimaltal mellan 0 och 1.
Om du till exempel anger 0,75 som värde delas datamängden 75/25. I den här delningen skickas 75 procent av raderna till den första utdatauppsättningen. Återstående 25 procent skickas till den andra utdatauppsättningen.
Välj alternativet Randomiserad delning om du vill slumpmässigt välja data i de två grupperna. Det här är det bästa alternativet när du skapar tränings- och testdatauppsättningar.
Random Seed: Den här parametern ignoreras om randomiserad delning är inställd på false. Annars anger du ett icke-negativt heltalsvärde för att starta pseudorandomsekvensen för instanser som ska användas. Det här standardutsädet används i alla komponenter som genererar slumpmässiga tal.
Om du anger ett frö blir resultatet reproducerbart. Om du behöver upprepa resultatet av en delningsåtgärd bör du ange samma startnummer för slumptalsgeneratorn.
Stratifierad delning: Ange det här alternativet till Sant för att säkerställa att de två utdatauppsättningarna innehåller ett representativt urval av värdena i kolumnen strata eller stratifieringsnyckeln.
Med stratifierad sampling delas data så att varje utdatauppsättning får ungefär samma procentandel av varje målvärde. Du kanske till exempel vill se till att dina tränings- och testuppsättningar är ungefär balanserade när det gäller resultatet eller någon annan kolumn (till exempel kön).
Skicka pipelinen.
Välj ett reguljärt uttryck
Lägg till komponenten Dela data i pipelinen och anslut den som indata till den datauppsättning som du vill dela upp.
För Delningsläge väljer du Delning av reguljära uttryck.
I rutan Reguljärt uttryck anger du ett giltigt reguljärt uttryck.
Det reguljära uttrycket bör följa Python-syntaxen för reguljära uttryck.
Skicka pipelinen.
Baserat på det reguljära uttryck som du anger delas datamängden in i två uppsättningar rader: rader med värden som matchar uttrycket och alla återstående rader.
Följande exempel visar hur du delar upp en datamängd med hjälp av alternativet Reguljärt uttryck .
Enstaka helt ord
Det här exemplet placerar i den första datauppsättningen alla rader som innehåller texten Gryphon
i kolumnen Text
. Den placerar andra rader i den andra utdatan för Delade data.
\"Text" Gryphon
Delsträng
Det här exemplet letar efter den angivna strängen i valfri position i den andra kolumnen i datamängden. Positionen anges här med indexvärdet 1. Matchningen är skiftlägeskänslig.
(\1) ^[a-f]
Den första resultatdatauppsättningen innehåller alla rader där indexkolumnen börjar med något av följande tecken: a
, b
, c
, d
, , e
. f
Alla andra rader dirigeras till den andra utdatan.
Välj ett relativt uttryck
Lägg till komponenten Dela data i pipelinen och anslut den som indata till den datauppsättning som du vill dela upp.
För Delningsläge väljer du Relativt uttryck.
I rutan Relationsuttryck anger du ett uttryck som utför en jämförelseåtgärd i en enda kolumn.
För numerisk kolumn:
- Kolumnen innehåller tal av valfri numerisk datatyp, inklusive datum- och tidsdatatyper.
- Uttrycket kan referera till högst ett kolumnnamn.
- Använd et-tecknet ,
&
för AND-åtgärden. Använd pipe-tecknet ,|
för OR-åtgärden. - Följande operatorer stöds:
<
,>
,<=
,>=
,==
,!=
. - Du kan inte gruppera åtgärder med hjälp
(
av och)
.
För strängkolumn:
- Följande operatorer stöds:
==
,!=
.
Skicka pipelinen.
Uttrycket delar upp datamängden i två uppsättningar rader: rader med värden som uppfyller villkoret och alla återstående rader.
Följande exempel visar hur du delar upp en datamängd med hjälp av alternativet Relativt uttryck i komponenten Dela data .
Kalenderår
Ett vanligt scenario är att dela upp en datamängd efter år. Följande uttryck markerar alla rader där värdena i kolumnen Year
är större än 2010
.
\"Year" > 2010
Datumuttrycket måste ta hänsyn till alla datumdelar som ingår i datakolumnen. Datumformatet i datakolumnen måste vara konsekvent.
I en datumkolumn som använder formatet mmddyyyy
bör uttrycket till exempel vara ungefär så här:
\"Date" > 1/1/2010
Kolumnindex
Följande uttryck visar hur du kan använda kolumnindexet för att markera alla rader i den första kolumnen i datauppsättningen som innehåller värden som är mindre än eller lika med 30, men inte lika med 20.
(\0)<=30 & !=20
Nästa steg
Se den uppsättning komponenter som är tillgängliga för Azure Machine Learning.