Gegevensonderdeel splitsen

In dit artikel wordt een onderdeel in de Azure Machine Learning-ontwerpfunctie beschreven.

Gebruik het onderdeel Gegevens splitsen om een gegevensset in twee verschillende sets te verdelen.

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

Het onderdeel configureren

Tip

Voordat u de splitsmodus kiest, leest u alle opties om te bepalen welk type splitsing u nodig hebt. Als u de splitsmodus wijzigt, worden alle andere opties mogelijk opnieuw 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 verdelen. 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 50/50 verdeeld.

      U kunt ook de selectie van rijen in elke groep willekeurig maken en gestratificeerde steekproeven gebruiken. Bij gestratificeerde steekproeven moet u één kolom met gegevens selecteren waarvan u wilt dat de waarden gelijkmatig worden verdeeld over de twee resultaatgegevenssets.

    • Normale expressie splitsen: kies deze optie als u uw gegevensset wilt delen door één kolom te testen op een waarde.

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

    • Relatieve expressie splitsen: gebruik deze optie wanneer u een voorwaarde wilt toepassen op een numerieke kolom. Het getal kan een datum-/tijdveld, een kolom met leeftijds- of eurobedragen of zelfs een percentage zijn. U kunt bijvoorbeeld uw gegevensset delen op basis van de kosten van de items, personen groeperen op leeftijdsbereik 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. Deel 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 (rechterkant).

    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 75/25 gesplitst. 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 Gerandomiseerde splitsing als u de selectie van gegevens in de twee groepen willekeurig wilt maken. 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-negatieve geheel getalwaarde in om de pseudorandomreeks van te gebruiken exemplaren te starten. Deze standaard-seed wordt gebruikt in alle onderdelen die willekeurige getallen genereren.

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

  6. Gestratificeerde splitsing: stel deze optie in op Waar om ervoor te zorgen dat de twee uitvoergegevenssets een representatieve steekproef van de waarden in de kolom strata of stratificatiesleutel bevatten.

    Met gestratificeerde steekproeven worden de gegevens zodanig verdeeld dat elke uitvoergegevensset ongeveer hetzelfde percentage van elke doelwaarde krijgt. U wilt er bijvoorbeeld voor zorgen dat uw trainings- en testsets ongeveer 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 bij Splitsmodusde optie Normale expressie splitsen.

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

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

  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 heel woord

In dit voorbeeld worden in de eerste gegevensset alle rijen geplaatst die de tekst Gryphon in de kolom Textbevatten. Hiermee worden andere rijen in de tweede uitvoer van Gegevens splitsen gezet.

    \"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 de volgende tekens: a, b, c, d, , e, . f Alle andere rijen worden naar de tweede uitvoer geleid.

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. Selecteer relatieve expressie voor de splitsmodus.

  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 en-teken, &, voor de bewerking AND. 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 Gegevens splitsen .

Kalenderjaar

Een veelvoorkomend scenario is om een gegevensset te delen 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 met de notatie mmddyyyymoet de expressie er bijvoorbeeld ongeveer als volgt uitzien:

\"Date" > 1/1/2010

Kolomindex

De volgende expressie laat zien 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.