Delen via


Split Data component

In dit artikel wordt een onderdeel in Azure Machine Learning Designer beschreven.

Gebruik het onderdeel Split Data om een gegevensset te verdelen in twee afzonderlijke sets.

Dit onderdeel is handig wanneer u gegevens moet scheiden in trainings- en testsets. U kunt ook de manier aanpassen waarop gegevens worden verdeeld. Sommige opties ondersteunen randomisatie van gegevens. Anderen zijn afgestemd op een bepaald gegevenstype of modeltype.

Het onderdeel configureren

Tip

Lees alle opties voor het bepalen van het type splitsing dat u nodig hebt voordat u de splitsmodus kiest. Als u de splitsmodus wijzigt, kunnen alle andere opties opnieuw worden ingesteld.

  1. Voeg het onderdeel Split Data toe aan uw pijplijn in de ontwerpfunctie. U vindt dit onderdeel onder Gegevenstransformatie in de categorie Voorbeeld en Splitsen .

  2. Splitsmodus: kies een van de volgende modi, afhankelijk van het type gegevens dat u hebt en hoe u deze wilt delen. Elke splitsmodus heeft verschillende opties.

    • Rijen splitsen: gebruik deze optie als u de gegevens alleen in twee delen wilt verdelen. U kunt het percentage gegevens opgeven dat in elke splitsing moet worden geplaatst. De gegevens worden standaard verdeeld 50/50.

      U kunt ook de selectie van rijen in elke groep willekeurig maken en gelaagde steekproeven gebruiken. Bij gelaagde steekproeven moet u één kolom met gegevens selecteren waarvoor waarden gelijk moeten worden verdeeld over de twee resultaatgegevenssets.

    • Reguliere expressie splitsen: kies deze optie als u de gegevensset wilt delen door één kolom voor een waarde te testen.

      Als u bijvoorbeeld sentiment analyseert, kunt u controleren op de aanwezigheid van een bepaalde productnaam in een tekstveld. Vervolgens kunt u de gegevensset onderverdelen in rijen met de naam en rijen van het doelproduct zonder de naam van het doelproduct.

    • Relatieve expressie splitsen: gebruik deze optie wanneer u een voorwaarde wilt toepassen op een getalkolom. Het getal kan een datum/tijd-veld zijn, een kolom met leeftijds- of dollarbedragen of zelfs een percentage. U kunt bijvoorbeeld uw gegevensset delen op basis van de kosten van de items, personen groeperen op leeftijdsbereiken of gegevens scheiden op een kalenderdatum.

Rijen splitsen

  1. Voeg het onderdeel Split Data toe aan uw pijplijn in de ontwerpfunctie en verbind de gegevensset die u wilt splitsen.

  2. Selecteer Rijen splitsen voor de splitsmodus.

  3. Fractie van rijen in de eerste uitvoergegevensset: gebruik deze optie om te bepalen hoeveel rijen naar de eerste uitvoer (linkerkant) gaan. Alle andere rijen gaan naar de tweede uitvoer (rechts).

    De verhouding vertegenwoordigt het percentage rijen dat naar de eerste uitvoergegevensset wordt verzonden, dus u moet een decimaal getal tussen 0 en 1 invoeren.

    Als u bijvoorbeeld 0,75 als waarde invoert, wordt de gegevensset gesplitst 75/25. In deze splitsing wordt 75 procent van de rijen verzonden naar de eerste uitvoergegevensset. De resterende 25 procent wordt verzonden naar de tweede uitvoergegevensset.

  4. Selecteer de optie Gerandomiseerd splitsen als u de selectie van gegevens in de twee groepen wilt randomiseren. Dit is de voorkeursoptie wanneer u trainings- en testgegevenssets maakt.

  5. Random Seed: deze parameter wordt genegeerd als randomized split is ingesteld op false. Voer anders een niet-negatief geheel getal in om de pseudorandomvolgorde van instanties te starten die moeten worden gebruikt. Deze standaard seed wordt gebruikt in alle onderdelen die willekeurige getallen genereren.

    Als u een zaad opgeeft, kunnen de resultaten worden gereproduceerd. Als u de resultaten van een splitsbewerking wilt herhalen, moet u hetzelfde seednummer opgeven voor de generator voor willekeurige getallen.

  6. Stratified split: Stel deze optie in op True om ervoor te zorgen dat de twee uitvoergegevenssets een representatieve steekproef van de waarden in de kolom strata of stratification-sleutelkolom bevatten.

    Bij gelaagde steekproeven worden de gegevens verdeeld, zodat elke uitvoergegevensset ongeveer hetzelfde percentage van elke doelwaarde krijgt. U wilt er bijvoorbeeld voor zorgen dat uw trainings- en testsets ruwweg in balans zijn met betrekking tot het resultaat of een andere kolom (zoals geslacht).

  7. Verzend de pijplijn.

Een reguliere expressie selecteren

  1. Voeg het onderdeel Split Data toe aan uw pijplijn en koppel het als invoer aan de gegevensset die u wilt splitsen.

  2. Selecteer Voor de splitsmodus reguliere expressie.

  3. Voer in het vak Reguliere expressie een geldige reguliere expressie in.

    De reguliere expressie moet de Python-syntaxis voor reguliere expressies volgen.

  4. Verzend de pijplijn.

    Op basis van de reguliere expressie die u opgeeft, wordt de gegevensset onderverdeeld in twee sets rijen: rijen met waarden die overeenkomen met de expressie en alle resterende rijen.

In de volgende voorbeelden ziet u hoe u een gegevensset deelt met behulp van de optie Reguliere expressie .

Eén geheel woord

In dit voorbeeld worden alle rijen in de eerste gegevensset geplaatst die de tekst Gryphon in de kolom Textbevatten. Er worden andere rijen in de tweede uitvoer van Split Data opgeslagen.

    \"Text" Gryphon  

Subtekenreeks

In dit voorbeeld wordt gezocht naar de opgegeven tekenreeks op een willekeurige positie in de tweede kolom van de gegevensset. De positie wordt hier aangeduid met de indexwaarde 1. De overeenkomst is hoofdlettergevoelig.

(\1) ^[a-f]

De eerste resultaatgegevensset bevat alle rijen waarin de indexkolom begint met een van deze tekens: a, , cb, d, , , , e. f Alle andere rijen worden omgeleid naar de tweede uitvoer.

Een relatieve expressie selecteren

  1. Voeg het onderdeel Split Data toe aan uw pijplijn en koppel het als invoer aan de gegevensset die u wilt splitsen.

  2. Voor de splitsmodus selecteert u Relatieve expressie.

  3. Voer in het vak Relationele expressie een expressie in waarmee een vergelijkingsbewerking op één kolom wordt uitgevoerd.

    Voor numerieke kolom:

    • De kolom bevat getallen van elk numeriek gegevenstype, inclusief datum- en tijdgegevenstypen.
    • De expressie kan verwijzen naar maximaal één kolomnaam.
    • Gebruik het teken ampersand, &voor de AND-bewerking. Gebruik het sluisteken , |voor de BEWERKING OR.
    • De volgende operators worden ondersteund: <, >, <=, >=, , ==, . !=
    • U kunt bewerkingen niet groeperen met behulp van ( en ).

    Voor de kolom Tekenreeks:

    • De volgende operators worden ondersteund: ==, !=.
  4. Verzend de pijplijn.

    De expressie verdeelt de gegevensset in twee sets rijen: rijen met waarden die voldoen aan de voorwaarde en alle resterende rijen.

In de volgende voorbeelden ziet u hoe u een gegevensset deelt met behulp van de optie Relatieve expressie in het onderdeel Split Data .

Kalenderjaar

Een veelvoorkomend scenario is het delen van een gegevensset door jaren. Met de volgende expressie worden alle rijen geselecteerd waarin de waarden in de kolom Year groter zijn dan 2010.

\"Year" > 2010

De datumexpressie moet rekening houden met alle datumonderdelen die zijn opgenomen in de gegevenskolom. De notatie van datums in de gegevenskolom moet consistent zijn.

In een datumkolom die de notatie mmddyyyygebruikt, moet de expressie bijvoorbeeld ongeveer als volgt zijn:

\"Date" > 1/1/2010

Kolomindex

In de volgende expressie ziet u hoe u de kolomindex kunt gebruiken om alle rijen in de eerste kolom van de gegevensset te selecteren die waarden bevatten die kleiner zijn dan of gelijk zijn aan 30, maar niet gelijk aan 20.

(\0)<=30 & !=20

Volgende stappen

Bekijk de set onderdelen die beschikbaar zijn voor Azure Machine Learning.