Delen via


Gegevens in opslaglocaties groeperen

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Numerieke gegevens in bins zetten

Categorie: Schalen en verminderen

Notitie

Van toepassing op: alleen Machine Learning Studio (klassiek)

Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.

Moduleoverzicht

In dit artikel wordt beschreven hoe u de groepsgegevens gebruikt in de module Bins in Machine Learning Studio (klassiek), om getallen te groeperen of de distributie van doorlopende gegevens te wijzigen.

De module Groepsgegevens in Bins ondersteunt meerdere opties voor binning-gegevens. U kunt aanpassen hoe de bin-randen worden ingesteld en hoe waarden worden verdeeld in de bins. U kunt bijvoorbeeld het volgende doen:

  • Typ handmatig een reeks waarden die moeten fungeren als de bin-grenzen.
  • Bereken entropiescores om een informatiewaarden voor elk bereik te bepalen, om de bins in het voorspellende model te optimaliseren. + Waarden toewijzen aan bins met behulp van kwantielen of percentielrangschikkingen.
  • U kunt ook het aantal waarden in elke bin beheren.
  • Forceer een gelijkmatige verdeling van waarden in de klassen.

Meer informatie over binning en groepering

Binning - of groeperingsgegevens (ook wel kwantisatie genoemd) is een belangrijk hulpmiddel bij het voorbereiden van numerieke gegevens voor machine learning en is nuttig in scenario's zoals deze:

  • Een kolom met doorlopende getallen heeft te veel unieke waarden om effectief te modelleren, zodat u de waarden automatisch of handmatig aan groepen toewijst om een kleinere set discrete bereiken te maken.

    U kunt bijvoorbeeld entropiescores gebruiken die door groepsgegevens worden gegenereerd in bins om de optimale groeperingen van gegevenswaarden te identificeren en deze groepen te gebruiken als functies in uw model.

  • Vervang een kolom met getallen door categorische waarden die specifieke bereiken vertegenwoordigen.

    U kunt bijvoorbeeld waarden in een leeftijdskolom groeperen door aangepaste bereiken op te geven, zoals 1-15, 16-22, 23-30, enzovoort voor demografische gebruikers.

  • Een gegevensset heeft een paar extreme waarden, allemaal goed buiten het verwachte bereik, en deze waarden hebben een grote invloed op het getrainde model. Als u de vooroordelen in het model wilt beperken, kunt u de gegevens transformeren naar een uniforme verdeling met behulp van de methode kwantielen (of gelijke hoogte).

    Met deze methode bepaalt de module Groepsgegevens in Bins de ideale bin-locaties en bin-breedte om ervoor te zorgen dat ongeveer hetzelfde aantal steekproeven in elke bin valt. Afhankelijk van de normalisatiemethode die u kiest, worden de waarden in de klassen omgezet in percentielen of toegewezen aan een bin-nummer.

Voorbeelden van binning

In het volgende diagram ziet u de verdeling van numerieke waarden voor en na binning met de methode kwantielen . U ziet dat in vergelijking met de onbewerkte gegevens aan de linkerkant de gegevens zijn binneerd en getransformeerd naar een normale schaal van een eenheid.

raw data and data binned and normalized

Een andere benadering van binning wordt gedemonstreerd in het voorbeeld van borstkankerdetectie , waarin groepsgegevens in bins worden gebruikt om patiënten toe te wijzen aan verschillende controle- en testgroepen, om te garanderen dat elke groep een gelijk aantal patiënten heeft.

Omdat er zoveel manieren zijn om gegevens te groeperen, raden we u aan om te experimenteren met verschillende methoden en waarden. De sectie Voorbeelden bevat koppelingen naar voorbeeldexperimenten die laten zien hoe u de verschillende binning-algoritmen gebruikt.

Groepsgegevens configureren in bins

  1. Voeg de module Group Data Into Bins toe aan uw experiment in Studio (klassiek). U vindt deze module in de categorie Gegevenstransformatie onder Schaal en Reductie.

  2. Verbinding maken de gegevensset met numerieke gegevens die moeten worden opgeslagen in de opslaglocatie. Kwantisatie kan alleen worden toegepast op kolommen met numerieke gegevens.

    Als de gegevensset niet-numerieke kolommen bevat, gebruikt u de module Kolommen selecteren in gegevensset om een subset van kolommen te selecteren waarmee u wilt werken.

  3. Geef de binning-modus op. De binning-modus bepaalt andere parameters, dus selecteer eerst de optie Binning-modus ! De volgende typen binning worden ondersteund:

    Entropy MDL: Voor deze methode moet u de kolom selecteren die u wilt voorspellen en de kolom of kolommen die u in klassen wilt groeperen. Vervolgens wordt er een pass-over de gegevens uitgevoerd en wordt geprobeerd het aantal bins te bepalen dat de entropie minimaliseert. Met andere woorden, het kiest een aantal bins waarmee de gegevenskolom het beste de doelkolom kan voorspellen. Vervolgens wordt het bin-nummer geretourneerd dat is gekoppeld aan elke rij van uw gegevens in een kolom met de naam <colname>quantized.

    Als de Entropy MDL-methode geen manier kan vinden om de gegevens in eerste instantie te bineren om een goede voorspelling te maken, worden alle gegevens toegewezen aan een uniforme bin. Dit betekent niet dat de kolom geen goede voorspeller is. In dit geval kunt u andere methoden gebruiken om het aantal bins te vinden dat entropie zou minimaliseren en om de gegevens een betere predictor te maken.

    Deze methode retourneert niet de werkelijke entropiescores.

    Kwantielen: Met de kwantielmethode worden waarden toegewezen aan bins op basis van percentielrangschikkingen. Kwantielen worden ook wel binning van gelijke hoogte genoemd.

    Gelijke breedte: Met deze optie moet u het totale aantal bins opgeven. De waarden uit de gegevenskolom worden in de opslaglocaties geplaatst, zodat elke bin hetzelfde interval heeft tussen begin- en eindwaarden. Als gevolg hiervan kunnen sommige bins meer waarden hebben als gegevens rond een bepaald punt zijn geknipt.

    Aangepaste randen: u kunt de waarden opgeven die aan elke bin beginnen. De randwaarde is altijd de ondergrens van de bin. Stel dat u waarden wilt groeperen in twee klassen, één met waarden groter dan 0 en één met waarden kleiner dan of gelijk aan 0. In dit geval typt u voor bin-randen 0 in een door komma's gescheiden lijst met bin-randen. De uitvoer van de module is 1 en 2, waarmee de bin-index voor elke rijwaarde wordt aangegeven.

    Gelijke breedte met aangepaste Startmenu en stop: deze methode is vergelijkbaar met de optie Gelijke breedte, maar u kunt zowel lagere als bovenliggende bin-grenzen opgeven.

  4. Aantal bins: Als u de binningmodi Entropy MDL, Quantiles en Equal Width gebruikt, gebruikt u deze optie om op te geven hoeveel bins of kwantielen u wilt maken.

  5. Gebruik de kolomkiezer om de kolommen te kiezen met de waarden die u wilt bineren. Kolommen moeten een numeriek gegevenstype zijn.

    Dezelfde binning-regel wordt toegepast op alle toepasselijke kolommen die u kiest. Als u daarom een aantal kolommen wilt binnen met behulp van een andere methode, gebruikt u een afzonderlijk exemplaar van groepsgegevens in bins voor elke set kolommen.

    Waarschuwing

    Als u een kolom kiest die geen toegestaan type is, wordt er een runtimefout gegenereerd. De module retourneert een fout zodra er een kolom met een niet-toegestaan type wordt gevonden. Als er een fout optreedt, controleert u alle geselecteerde kolommen. De fout bevat niet alle ongeldige kolommen.

  6. Geef voor de uitvoermodus aan hoe u de gekwantiseerde waarden wilt uitvoeren.

    • Toevoegen: Hiermee maakt u een nieuwe kolom met de binned-waarden en voegt u deze toe aan de invoertabel.

    • Inplace: Vervangt de oorspronkelijke waarden door de nieuwe waarden in de gegevensset.

    • ResultOnly: retourneert alleen de resultaatkolommen.

  7. Als u de binningmodus Quantiles selecteert, gebruikt u de optie Quantile-normalisatie om te bepalen hoe waarden worden genormaliseerd voordat ze worden gesorteerd in kwantielen. Houd er rekening mee dat het normaliseren van waarden de waarden transformeert, maar geen invloed heeft op het uiteindelijke aantal bins. Zie bijvoorbeeld Effecten van verschillende normalisatiemethoden.

    De volgende normalisatietypen worden ondersteund:

    • Percentage: Waarden worden genormaliseerd binnen het bereik [0.100]

    • PQuantile: waarden worden genormaliseerd binnen het bereik [0,1]

    • QuantileIndex: waarden worden genormaliseerd binnen het bereik [1,aantal bins]

  8. Als u de optie Aangepaste randen kiest, typt u een door komma's gescheiden lijst met getallen die u wilt gebruiken als bin-randen in het tekstvak + Door komma's gescheiden lijst met bin-randen . De waarden markeren het punt dat bins deelt, dus als u één bin edge-waarde typt, worden er twee bins gegenereerd; Als u twee edge-waarden voor de bin typt, worden er drie bins gegenereerd, enzovoort.

    De waarden moeten worden gesorteerd in de volgorde waarin de klassen worden gemaakt, van laag naar hoog.

  9. Als u de optie Equal Width With Custom Startmenu And Stop gebruikt, moet u de grenzen van de klassen opgeven.

    Definieer de ondergrens van de eerste bin door een waarde te typen in het tekstvak Eerste randpositie .

    Definieer de ondergrens van de laatste bin door een waarde te typen in het tekstvak Laatste randpositie .

  10. Kolommen labelen als categorisch: selecteer deze optie om automatisch een metagegevensvlag toe te voegen aan de kolom met binned-waarden. De metagegevensvlag geeft aan dat de gekwantiseerde kolommen moeten worden verwerkt als categorische variabelen.

  11. Voer het experiment uit of selecteer deze module en klik op Uitvoeren geselecteerd.

Resultaten

De module Groepsgegevens in Bins retourneert een gegevensset waarin elk element volgens de opgegeven modus is binned.

Het retourneert ook een Binning-transformatie, een functie die kan worden doorgegeven aan de module Transformatie toepassen om nieuwe voorbeelden van gegevens te binnen met behulp van dezelfde binning-modus en parameters.

Als u wilt zien hoe goed de binning-methode functioneert als een predictor, klikt u op de uitvoer van de gegevensset van groepsgegevens naar Bins en vergelijkt u de labelkolom met de binned-kolom. Als de groepering naar bins voorspellend is, moeten de waarden in de matrix met kruistabbladen zich in een paar cellen concentreren.

Tip

Als u binning gebruikt voor uw trainingsgegevens, moet u dezelfde binning-methode gebruiken voor gegevens die u gebruikt voor testen en voorspellingen. Dit omvat de binning-methode, bin-locaties en bin-breedte.

Om ervoor te zorgen dat gegevens altijd worden getransformeerd met dezelfde binning-methode, raden we u aan nuttige gegevenstransformaties op te slaan en deze vervolgens toe te passen op andere gegevenssets met behulp van de module Transformatie toepassen .

Voorbeelden

Zie de Azure AI Gallery voor voorbeelden van hoe kwantisatie wordt toegepast in machine learning-scenario's:

Technische opmerkingen

Deze sectie bevat implementatiedetails, tips en antwoorden op veelgestelde vragen.

Effecten van verschillende normalisatiemethoden

Als u de optie selecteert, worden kwantielnormalisatie waarden getransformeerd vóór binning. De methode die u kiest voor normalisatie heeft dus een sterk effect op de numerieke waarden.

In de volgende tabel ziet u bijvoorbeeld hoe de waarden in één kolom, fLengthvan de telescoopgegevensset , worden getransformeerd met elk van de normalisatiemethoden. De kolom, fLengthis willekeurig gekozen voor de illustratie van de uitvoerwaarden van elke optie en heeft geen normale verdeling.

Bron (fLength) pQuantile QuantileIndex Percentage
28.7967 0.363636 4 36.363636
31.6036 0.454545 5 45.454545
162.052 0.909091 10 90.909091
23.8172 0.272727 3 27.272727

De binning-resultaten zijn vergelijkbaar voor elke methode.

In de volgende afbeelding ziet u de verdeling van waarden in de kolom vóór en na binning, met behulp van de standaardwaarde van 10 bins.

Comparison of Normalization Methods for Binning

Implementatiegegevens

  • Tijdens de kwantisatie wordt elk getal toegewezen aan een bin, door de waarde ervan te vergelijken met de waarden van de bin-randen.

    Als de waarde bijvoorbeeld 1,5 is en de bin-randen 1, 2 en 3 zijn, wordt het element toegewezen aan bin nummer 2. Waarde 0,5 wordt toegewezen aan bin nummer 1 (de onderloop bin) en waarde 3,5 wordt toegewezen aan binnummer 4 (de overloop bin).

  • Als de kolom naar bin (kwantize) sparse is, wordt de bin-index-verschuiving (de kwantiel-verschuiving) gebruikt wanneer de resulterende kolom wordt gevuld. De offset wordt gekozen zodat sparse 0 altijd naar de bin gaat met een index van 0 (met andere woorden, het kwantiel met waarde 0).

  • Sparsenullen worden doorgegeven van de invoer naar de uitvoerkolom.

  • Verwerking van dichte kolommen produceert altijd resultaten met een minimum bin-index die gelijk is aan 1; dat wil gezegd, de minimum kwantielwaarde is gelijk aan de minimumwaarde in de kolom. Tegelijkertijd produceert de verwerking van een sparsekolom een resultaat met variabele minimum bin-index (minimale kwantielwaarde).

  • Alle NaN's en ontbrekende waarden worden vanuit de invoerkolom doorgegeven aan de uitvoerkolom. De enige uitzondering is het geval wanneer de module kwantielindexen retourneert. In dit geval worden alle NaN's gepromoveerd naar ontbrekende waarden.

  • Bin-indexen zijn gebaseerd op 1. Dit is de natuurlijke conventie voor kwantielen (1e kwantiel, 2e kwantiel, enzovoort). De enige uitzondering is het geval wanneer de kolom naar de bin is geparseerd.

Verwachte invoer

Naam Type Beschrijving
Gegevensset Gegevenstabel Gegevensset die moet worden geanalyseerd

Moduleparameters

Name Bereik Type Standaard Beschrijving
Binningmodus Lijst QuantizationMode Kwantielen Een binning-methode kiezen
Kolommen naar bin alle ColumnSelection Numeriekeall Kolommen kiezen voor kwantisatie
Uitvoermodus alle Outputto Aangeven hoe gekwantiseerde kolommen moeten worden uitgevoerd
Kolommen labelen als categorisch alle Booleaans true Geef aan of uitvoerkolommen als categorisch moeten worden getagd
Aantal bins >=1 Geheel getal 10 Geef het gewenste aantal bins op
Kwantielnormalisatie alle BinningNormalization Kies de methode voor het normaliseren van kwantielen
Eerste randpositie alle Float 0,0 Geef de waarde op voor de eerste bin-rand
Breedte van bin alle Float 0,5 Een aangepaste bin-breedte opgeven
Laatste randpositie alle Float 1.0 Geef de waarde op voor de laatste bin-rand
Door komma's gescheiden lijst met bin-randen alle Tekenreeks Typ een door komma's gescheiden lijst met getallen die moeten worden gebruikt als bin-randen

Uitvoerwaarden

Naam Type Beschrijving
Gekwantiseerde gegevensset Gegevenstabel Gegevensset met gekwantiseerde kolommen
Binning-transformatie ITransform-interface Transformatie die kwantisatie toepast op de gegevensset

Uitzonderingen

Uitzondering Beschrijving
Fout 0003 Uitzondering treedt op als een of meer invoerwaarden null of leeg zijn.
Fout 0004 Uitzondering treedt op als de parameter kleiner is dan of gelijk is aan een specifieke waarde.
Fout 0011 Uitzondering treedt op als het argument doorgegeven kolomset niet van toepassing is op een van de kolommen in de gegevensset.
Fout 0021 Uitzondering treedt op als het aantal rijen in sommige gegevenssets dat aan de module is doorgegeven, te klein is.
Fout 0024 Uitzondering treedt op als de gegevensset geen labelkolom bevat.
Fout 0020 Uitzondering treedt op als het aantal kolommen in sommige gegevenssets dat aan de module is doorgegeven, te klein is.
Fout 0038 Uitzondering treedt op als het aantal verwachte elementen een exacte waarde moet zijn, maar niet.
Fout 0005 Uitzondering treedt op als de parameter kleiner is dan een specifieke waarde.
Fout 0002 Uitzondering treedt op als een of meer parameters niet kunnen worden geparseerd of geconverteerd van het opgegeven type naar vereist per doelmethodetype.
Fout 0019 Uitzondering treedt op als de kolom naar verwachting gesorteerde waarden bevat, maar dit niet.
Fout 0039 Uitzondering treedt op als de bewerking is mislukt.
Fout 0075 Uitzondering treedt op wanneer een ongeldige binning-functie wordt gebruikt bij het kwantificeren van een gegevensset.

Zie Machine Learning Foutcodes voor een lijst met fouten die specifiek zijn voor Studio-modules (klassiek).

Zie Machine Learning REST API-foutcodes voor een lijst met API-uitzonderingen.

Zie ook

Schalen en verminderen
Gegevens normaliseren
Waarden inperken