Partitionera och prova

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.

Skapar flera partitioner av en datauppsättning baserat på sampling

Kategori: Datatransformering/exempel och delning

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

Den här artikeln beskriver hur du använder partitions- och exempelmodulen i Machine Learning Studio (klassisk) för att utföra sampling på en datauppsättning eller för att skapa partitioner från din datauppsättning.

Sampling är ett viktigt verktyg i maskininlärning eftersom det gör att du kan minska storleken på en datauppsättning samtidigt som du behåller samma förhållande av värden. Den här modulen stöder flera relaterade uppgifter som är viktiga inom maskininlärning:

  • Dela upp dina data i flera underavsnitt av samma storlek.

    Du kan använda partitionerna för korsvalidering eller för att tilldela ärenden till slumpmässiga grupper.

  • Separera data i grupper och sedan arbeta med data från en viss grupp.

    När du har slumpmässigt tilldelar ärenden till olika grupper kan du behöva ändra de funktioner som endast är associerade med en grupp.

  • Provtagning.

    Du kan extrahera en procentandel av data, använda slumpmässig sampling eller välja en kolumn som ska användas för att balansera datauppsättningen och utföra stratifierad sampling på dess värden.

  • Skapa en mindre datauppsättning för testning.

    Om du har stora datamängder kanske du bara vill använda de första n raderna när du ställer in experimentet och sedan växla till att använda den fullständiga datauppsättningen när du skapar din modell. Du kan också använda sampling för att skapa en mindre datamängd som ska användas i utvecklingen.

Så här konfigurerar du partition och exempel

Den här modulen stöder flera metoder för att dela upp dina data i partitioner eller för sampling. Välj metoden först och ange sedan ytterligare alternativ som krävs av metoden .

  • Hämta det högsta antalet rader

Hämta N översta raderna från en datauppsättning

Använd det här läget för att endast hämta de första n raderna. Det här alternativet är användbart om du vill testa ett experiment på ett litet antal rader och inte behöver balansera eller sampla data på något sätt.

  1. Lägg till modulen Partition och Sample i experimentet i Studio (klassisk) och anslut datauppsättningen.

  2. Partitions- eller exempelläge: Ställ in det här alternativet på Huvud.

  3. Antal rader som ska väljas: Ange antalet rader som ska returneras.

    Antalet rader som du anger måste vara ett icke-negativt heltal. Om antalet valda rader är större än antalet rader i datauppsättningen returneras hela datauppsättningen.

  4. Kör experimentet.

Modulen matar ut en enda datauppsättning som endast innehåller det angivna antalet rader. Raderna läses alltid uppifrån i datauppsättningen.

Skapa ett exempel på data

Det här alternativet stöder enkel slumpmässig sampling eller stratifierad slumpmässig sampling. Detta är användbart om du vill skapa en mindre representativ exempeldatamängd för testning.

  1. Lägg till modulen Partition och Sample i experimentet i Studio (klassisk) och anslut datauppsättningen.

  2. Partitions- eller exempelläge: Ställ in på Sampling.

  3. Samplingsfrekvens: Ange ett värde mellan 0 och 1. det här värdet anger procentandelen rader från källdatauppsättningen som ska ingå i utdatauppsättningen.

    Om du till exempel bara vill ha hälften av den ursprungliga datauppsättningen skriver 0.5 du för att ange att samplingsfrekvensen ska vara 50 %.

    Raderna i indatamängden blandas och läggs selektivt i utdatauppsättningen enligt det angivna förhållandet.

  4. Slumpmässigt startvärde för sampling: Om du vill kan du ange ett heltal som ska användas som startvärde.

    Det här alternativet är viktigt om du vill att raderna ska delas på samma sätt varje gång. Standardvärdet är 0, vilket innebär att ett startvärde genereras baserat på systemklockan. Detta kan leda till något olika resultat varje gång du kör experimentet.

  5. Stratifierad delning för sampling: Välj det här alternativet om det är viktigt att raderna i datauppsättningen delas jämnt med en nyckelkolumn före sampling.

    För Stratification key column for sampling (Stratification-nyckelkolumn för sampling) väljer du en enskild strata-kolumn som ska användas när datauppsättningen delas upp. Raderna i datauppsättningen delas sedan på följande sätt:

    1. Alla indatarader grupperas (stratifieras) efter värdena i den angivna strata-kolumnen.

    2. Rader blandas i varje grupp.

    3. Varje grupp läggs selektivt till i utdatauppsättningen för att uppfylla det angivna förhållandet.

    Mer information om stratifierad sampling finns i avsnittet Tekniska anteckningar.

  6. Kör experimentet.

    Med det här alternativet matar modulen ut en enda datauppsättning som innehåller en representativ sampling av data.

    Den återstående ostämpeldelen av datauppsättningen matas inte ut. Du kan dock skapa en koppling för datauppsättningarna med hjälp av modulen Tillämpa SQL transformering för att avgöra vilka rader som inte använts.

Dela upp data i partitioner

Använd det här alternativet när du vill dela upp datauppsättningen i delmängder av data. Det här alternativet är också användbart när du vill skapa ett anpassat antal gånger för korsvalidering eller för att dela upp rader i flera grupper.

  1. Lägg till modulen Partition och Sample i experimentet i Studio (klassisk) och anslut datauppsättningen.

  2. För Partitions- eller exempelläge väljer du Tilldela till folds.

  3. Använd ersättning i partitionering: Välj det här alternativet om du vill att den sampla raden ska läggas tillbaka i poolen med rader för eventuell återanvändning. Därför kan samma rad tilldelas flera gånger.

    Om du inte använder ersättning (standardalternativet) förs den sampla raden inte tillbaka till poolen med rader för eventuell återanvändning. Därför kan varje rad bara tilldelas en viker.

  4. Slumpmässig delning: Välj det här alternativet om du vill att rader ska tilldelas slumpmässigt till gånger.

    Om du inte väljer det här alternativet tilldelas rader till gånger med hjälp av resursallokeringsmetoden.

  5. Slumpmässigt startvärde: Om du vill kan du ange ett heltal som ska användas som startvärde. Det här alternativet är viktigt om du vill att raderna ska delas på samma sätt varje gång. Annars innebär standardvärdet 0 att ett slumpmässigt startvärde används.

  6. Ange partitioneringsmetoden: Ange hur du vill att data ska fördelas på varje partition med hjälp av följande alternativ:

    • Partitionera jämnt: Använd det här alternativet om du vill placera lika många rader i varje partition. Om du vill ange antalet utdatapartitioner skriver du ett helt tal i rutan Ange antal gånger som ska delas upp jämnt i textrutan.

    • Partition med anpassade proportioner: Använd det här alternativet om du vill ange storleken på varje partition som en kommaavgränsad lista.

      Om du till exempel vill skapa tre partitioner, med den första partitionen som innehåller 50 % av data och de återstående två partitionerna som var och en innehåller 25 % av data, klickar du på rutan Lista över proportioner avgränsade med kommatecken och skriver dessa siffror: .5, .25, .25

      Summan av alla partitionsstorlekar måste vara exakt 1.

      • Om du anger tal som är mindre än 1 skapas en extra partition som ska innehålla de återstående raderna. Om du till exempel skriver värdena .2 och .3 skapas en tredje partition som innehåller de återstående 50 procenten av alla rader.

      • Om du anger tal som är fler än 1 uppstår ett fel när du kör experimentet.

  7. Stratifierad delning: Välj det här alternativet om du vill att raderna ska stratifieras när de delas upp och sedan välja strata-kolumnen.

    Mer information om stratifierad sampling finns i avsnittet Tekniska anteckningar.

  8. Kör experimentet.

    Med det här alternativet matar modulen ut flera datauppsättningar, partitionerade med de regler som du har angett.

Använda data från en fördefinierad partition

Det här alternativet används när du har delat upp en datauppsättning i flera partitioner och nu vill läsa in varje partition i tur och ordning för ytterligare analys eller bearbetning.

  1. Lägg till modulen Partition och Sample i experimentet i Studio (klassisk).

  2. Anslut till utdata från en tidigare instans av Partition och Sample. Den instansen måste ha använt alternativet Tilldela till viker för att generera ett visst antal partitioner.

  3. Partitions- eller exempelläge: Välj Välj Vikning.

  4. Ange vilket vikning som ska samplas från: Välj en partition som ska användas genom att skriva dess index. Partitionsindex är 1-baserade. Om du till exempel delar in datauppsättningen i tre delar skulle partitionerna ha indexen 1, 2 och 3.

    Om du skriver ett ogiltigt indexvärde utlöses ett designfel: "Fel 0018: Datauppsättningen innehåller ogiltiga data".

    Förutom att gruppera datauppsättningen efter gånger kan du dela upp datauppsättningen i två grupper: ett målveck och allt annat. Det gör du genom att skriva indexet för ett enskilt vikning och sedan välja alternativet Pick complement of the selected fold (Välj komplement till det valda viker) för att hämta allt utom data i det angivna viker.

  5. Om du arbetar med flera partitioner måste du lägga till ytterligare instanser av partitions- och exempelmodulen för att hantera varje partition.

    Anta till exempel att tidigare partitionerade patienter i fem gånger med hjälp av ålder. Om du vill arbeta med varje enskilt vikning behöver du fem kopior av partitions - och exempelmodulen, och i var och en väljer du ett annat vikning.

    Tips

    Exempelexperimentet , Split Partition och Sample, visar den här tekniken.

  6. Kör experimentet.

    Med det här alternativet matar modulen ut en enda datauppsättning som endast innehåller de rader som tilldelats den viker.

Anteckning

Du kan inte visa vikningsbeteckningarna direkt. de finns bara i metadata.

Exempel

Exempel på hur den här modulen används finns i Azure AI Gallery:

  • Korsvalidering för binär klassificering: En samplingsfrekvens på 20 % används för att skapa en mindre slumpmässigt sampeld datauppsättning. Den ursprungliga censusdatamängden hade över 30 000 rader. den exempeldatauppsättningen har cirka 6500.

  • Korsvalidering för regression: Data tilldelas slumpmässigt och jämnt till fem gånger, utan stratifiering, och resultaten används för korsvalidering.

  • Delad partition och exempel: Visar flera sätt att använda partitionering och sampling. Först används alternativet Tilldela till vikning för att tilldela rader i datauppsättningen till en av tre grupper med jämn storlek. Sedan läggs ytterligare tre instanser av Partition och Sample till med hjälp av läget Välj vikning för att tillämpa åtgärder på delmängder av data

    • I den första viker (index på 1) delas raderna slumpmässigt.
    • I det andra viker (index på 2) delas raderna upp efter utbildning.
    • I det tredje viker (indexet på 3) delas raderna upp efter ålder.

Teknisk information

  • Stratification-kolumnen måste vara kategorisk med diskreta värden. Om kolumnen inte redan är kategorisk och du får ett fel använder du Redigera metadata för att ändra kolumnegenskaperna.

  • Strata-kolumnen som du anger får inte innehålla kontinuerliga data, det vill säga numeriska data med flyttalsvärden i varje cell. Annars kan modulen inte bearbeta data och returnerar ett fel.

    Orsaken är att alla kolumner som används för stratifiering måste ha en begränsad uppsättning möjliga värden. Om den angivna strata-kolumnen innehåller flyttalsvärden och kolumnen inte är kategorisk innehåller den potentiellt ett obegränsat antal värden.

  • Om strata-kolumnen innehåller booleska värden och du vill att de ska tolkas som kategoriska måste du använda modulen Redigera metadata för att ändra metadataetiketten.

  • Om din strata-kolumn innehåller strängdata eller numeriska data med för många unika värden är kolumnen inte en bra kandidat för stratifierad sampling.

Mer om stratifierad sampling

Stratifierad sampling säkerställer att delmängder av data har en representativ sampling av den valda strata-kolumnen. Den här tekniken är användbar när du till exempel vill se till att dina träningsdata innehåller samma fördelning av åldersvärden som testdata har eller vice versa. Eller så kanske du vill stratifiera en könskolumn i en sjukvårdsstudie för att säkerställa att män och kvinnor fördelas jämnt när data partitioneras. Stratification säkerställer att förhållandet mellan de valda värdena bevaras.

Du anger värden som data ska separeras på genom att välja en enda kolumn som ska fungera som strata-kolumn.

Den här modulen kräver att strata-kolumnen är en kategorisk kolumn. Om du vill använda en kolumn med heltalsvärden för strata är det bästa praxis att tilldela en kategorisk typ till den här kolumnen. Du kan göra detta via schemat för data innan du lägger till dem i Machine Learning Studio (klassisk) eller så kan du uppdatera kolumnens metadata med hjälp av Redigera metadata.

Kolumner med kontinuerliga data (det vill säga numeriska data med flyttalsvärden i varje cell) kan inte användas som stratakolumner. Om du får ett fel kan du använda Gruppera data i intervall för att bucketse värdena i diskreta intervall och sedan använda Redigera metadata för att garantera att kolumnen behandlas som kategorisk.

Förväntade indata

Namn Typ Description
Datamängd Datatabell Datauppsättning som ska delas

Modulparametrar

Name Intervall Typ Standardvärde Description
Partitions- eller exempelläge Lista Samplingsmetoder Samling Välj partitions- eller samplingsläge
Använda ersättning i partitionering Valfri Boolesk Falskt Ange om vikarna ska vara olika (standard – ingen ersättning) eller överlappande (sant – använd ersättning)
Randomiserad delning Valfri Boolesk Sant Ange om uppdelningen är slumpmässig
Slumpmässigt start seed Valfri Integer 0 Ange ett startnummer för slumptalsgeneratorn
Ange partitioneringsmetoden Lista Partitionsmetoder Partitionera jämnt Välj Partition jämnt om du vill partitionera i gånger med samma storlek, eller Partitionera med anpassade proportioner för att partitionera i vikningar av anpassad storlek
Ange antalet gånger som ska delas upp jämnt i >=1 Integer 5 Välj ett antal partitioner att dela upp i
Stratifierad delning Lista Typ av sant/falskt Falskt Ange om delningen är stratifierad
Kolumn för Stratification-nyckel Valfri ColumnSelection Innehåller stratifieringsnyckeln
Lista över proportioner avgränsade med kommatecken Valfri Sträng Visa proportioner, avgränsade med kommatecken
Stratifierad delning för anpassad tilldelning av vikning Valfri Typ av sant/falskt Falskt Ange om uppdelningen är stratifierad för anpassade vikningstilldelningar
Stratification key column for customized fold assignment (Stratifieringsnyckelkolumn för anpassad tilldelning av vikning) Valfri ColumnSelection Innehåller stratifieringsnyckeln för anpassade vikningstilldelningar
Ange vilket vikning som ska samplas från >=1 Integer 1 Innehåller index för den vikning som ska samplas
Välja komplement till det valda viker Valfri Boolesk Falskt Välj komplementet till det angivna viker
Samplingsfrekvens Valfri Float 0,01 Välj en samplingsfrekvens
Slumpmässigt start seed för sampling Valfri Integer 0 Ange ett startnummer för slumptalsgeneratorn för sampling
Stratifierad delning för sampling Valfri Sant/falskt Falskt Ange om delningen är stratifierad för sampling
Kolumn för Stratification-nyckel för sampling Valfri ColumnSelection Innehåller stratifieringsnyckel för sampling
Antal rader som ska väljas >= 0 Integer 10 Välj ett maximalt antal poster som ska tillåtas att passera till nästa modul

Utdata

Namn Typ Description
oDataset Datatabell Datauppsättning som är resultatet av uppdelningen

Se även

Exempel och delning
Dela data
Redigera metadata
Gruppera data till lagerplatser