Build-teltransformator

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.

Hiermee maakt u een transformatie waarmee teltabellen worden om zetten in functies, zodat u de transformatie kunt toepassen op meerdere gegevenssets

Categorie: Learning met tellingen

Notitie

Van toepassing op: 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 module Build Counting Transform in Machine Learning Studio (klassiek) gebruikt om trainingsgegevens te analyseren. Op basis van deze gegevens bouwt de module een teltabel en een set functies op basis van tellingen die kunnen worden gebruikt in een voorspellend model.

Een count-tabel bevat de gezamenlijke distributie van alle functiekolommen op een opgegeven labelkolom. Dergelijke statistieken zijn handig om te bepalen welke kolommen de meeste informatiewaarde hebben. Op count gebaseerde featurization is handig omdat dergelijke functies compacter zijn dan de oorspronkelijke trainingsgegevens, maar alle nuttigste informatie vastleggen. U kunt de moduleparameters gebruiken om aan te passen hoe de tellingen worden omgezet in de nieuwe set functies op basis van tellingen.

Nadat u tellingen hebt gegenereerd en deze hebt getransformeerd in functies, kunt u het proces opslaan als een transformatie voor opnieuw gebruik van gerelateerde gegevens. U kunt ook de set functies wijzigen zonder dat u een nieuwe set tellingen moet genereren of de tellingen en functies met een andere set tellingen en functies moet samenvoegen.

De mogelijkheid om functies op basis van tellingen opnieuw te gebruiken en opnieuw toe te passen is handig in scenario's zoals:

  • Er komen nieuwe gegevens beschikbaar om de dekking of balans van uw gegevensset te verbeteren.
  • Uw oorspronkelijke aantallen en functies zijn gebaseerd op een zeer grote gegevensset die u niet opnieuw wilt verwerken. Door de tellingen samen te voegen, kunt u bijwerken met nieuwe gegevens.
  • U wilt ervoor zorgen dat dezelfde set functies op basis van tellingen wordt toegepast op alle gegevenssets die u in uw experiment gebruikt.

Build-teltransformator configureren

U kunt een functietransformatie op basis van tellingen rechtstreeks vanuit een gegevensset maken en deze telkens opnieuw uitvoeren wanneer u een experiment uit te voeren. U kunt ook een set tellingen genereren en deze vervolgens samenvoegen met nieuwe gegevens om een bijgewerkte tellingstabel te maken.

  • Op telling gebaseerde functies maken op basis van een gegevensset

    Begin hier als u nog niet eerder tellingen hebt gemaakt. U gebruikt de module Build Count Transform om teltabellen te maken en automatisch een set functies te genereren.

    Met dit proces maakt u een functietransformatie die u kunt toepassen op een gegevensset met behulp van de module Transformatie toepassen.

  • Tellingen en functies van meerdere gegevenssets samenvoegen

    Als u al een count-tabel hebt gegenereerd op basis van een vorige gegevensset, genereert u alleen tellingen voor alleen de nieuwe gegevens of importeert u een bestaande count-tabel die u in een eerdere versie van Machine Learning. Voeg vervolgens de twee sets met teltabellen samen

    Met dit proces maakt u een nieuwe functietransformatie die u kunt toepassen op een gegevensset met behulp van de module Transformatie toepassen.

Op telling gebaseerde functies maken op basis van een gegevensset

  1. Voeg in Machine Learning Studio (klassiek) de module Build Counting Transform toe aan uw experiment. U vindt de module onder Gegevenstransformatie in de categorie Learning aantal.

  2. Verbinding maken de gegevensset die u wilt gebruiken als basis voor onze functies op basis van tellingen.

  3. Gebruik de optie Aantal klassen om het aantal waarden in uw labelkolom op te geven.

    • Voor elk binair classificatieprobleem typt u 2.
    • Voor een classificatieprobleem met meer dan twee mogelijke uitvoer, moet u vooraf het exacte aantal klassen opgeven dat moet worden geteld. Als u een getal op geeft dat kleiner is dan het werkelijke aantal klassen, wordt door de module een foutmelding weergegeven.
    • Als uw gegevensset meerdere klassewaarden bevat en de klasselabelwaarden niet-sequentieel zijn, moet u Metagegevens bewerken gebruiken om op te geven dat de kolom categorische waarden bevat.
  4. Geef voor de optie De bits van de hash-functie aan hoeveel bits moeten worden gebruikt bij het hashen van de waarden.

    Het is over het algemeen veilig om de standaardwaarden te accepteren, tenzij u weet dat er veel waarden moeten worden geteld en er mogelijk een hoger aantal bits nodig is.

  5. In De seed van de hash-functie kunt u eventueel een waarde opgeven om de hash-functie te seeden. Het handmatig instellen van een seed wordt doorgaans uitgevoerd wanneer u ervoor wilt zorgen dat hash-resultaten deterministisch zijn voor alle runs van hetzelfde experiment.

  6. Gebruik de optie Moduletype om het type gegevens aan te geven dat u wilt tellen, op basis van de opslagmodus:

    • Gegevensset: kies deze optie als u gegevens telt die zijn opgeslagen als een gegevensset in Machine Learning Studio (klassiek).

    • Blob: kies deze optie als uw brongegevens die worden gebruikt voor het bouwen van tellingen, worden opgeslagen als een blok-blob in Windows Azure-opslag.

    • MapReduce: kies deze optie als u de functies Map/Reduce wilt aanroepen om de gegevens te verwerken.

      Als u deze optie wilt gebruiken, moeten de nieuwe gegevens worden opgegeven als een blob in Windows Azure Storage en moet u toegang hebben tot een geïmplementeerd HDInsight-cluster. Wanneer u het experiment hebt uitgevoerd, wordt er een Map/Reduce-taak gestart in het cluster om de telling uit te voeren.

      Voor zeer grote gegevenssets raden we u aan deze optie indien mogelijk te gebruiken. Hoewel u extra kosten in rekening kunt brengen voor het gebruik van de HDInsight-service, kan het berekenen van grote gegevenssets in HDInsight sneller zijn.

      Voor meer informatie raadpleegt u https://azure.microsoft.com/services/hdinsight/.

  7. Nadat u de gegevensopslagmodus hebt opgegeven, geeft u eventuele aanvullende verbindingsgegevens op voor de gegevens die vereist zijn:

    • Als u gegevens uit Hadoop of blob-opslag gebruikt, geeft u de clusterlocatie en referenties op.
    • Als u eerder een module Gegevens importeren in het experiment hebt gebruikt voor toegang tot gegevens, moet u de accountnaam en uw referenties opnieuw invoeren. De module Build Counting Transform heeft afzonderlijk toegang tot de gegevensopslag om de gegevens te lezen en de vereiste tabellen te bouwen.
  8. Selecteer bij Kolom of index label één kolom als de labelkolom.

    Een labelkolom is vereist. De kolom moet al zijn gemarkeerd als een label of er wordt een foutmelding weergegeven.

  9. Gebruik de optie Select columns to count en selecteer de kolommen waarvoor u tellingen wilt genereren.

    Over het algemeen zijn hoogdimensionale kolommen de beste kandidaten, samen met andere kolommen die zijn gecorreleerd met die kolommen.

  10. Gebruik de optie Tabeltype tellen om de indeling op te geven die wordt gebruikt voor het opslaan van de teltabel.

    • Woordenlijst: hiermee maakt u een tabel met het aantal woordenlijsten. Alle kolomwaarden in de geselecteerde kolommen worden behandeld als tekenreeksen en worden gehasht met behulp van een bit-matrix van maximaal 31 bits. Daarom worden alle kolomwaarden vertegenwoordigd door een niet-negatief 32-bits geheel getal.

      Over het algemeen moet u deze optie gebruiken voor kleinere gegevenssets (minder dan 1 GB) en de optie CMSketch gebruiken voor grotere gegevenssets.

      Nadat u deze optie hebt geselecteerd, configureert u het aantal bits dat wordt gebruikt door de hash-functie en stelt u een seed in voor het initialiseren van de hash-functie.

    • CMSketch: hiermee maakt u een minimale tekentabel voor het aantal. Met deze optie worden meerdere onafhankelijke hash-functies met een kleiner bereik gebruikt om de geheugenefficiëntie te verbeteren en de kans op hash-bots te verminderen. De parameters voor hash-bitgrootte en hashing-seed hebben geen effect op deze optie.

  11. Voer het experiment uit.

    De module maakt een featurization-transformatie die u kunt gebruiken als invoer voor de module Transformatie toepassen. De uitvoer van de module Transformatie toepassen is een getransformeerde gegevensset die kan worden gebruikt om een model te trainen.

    U kunt de transformatie desgewenst opslaan als u de set functies op basis van tellingen wilt samenvoegen met een andere set functies op basis van tellingen. Zie Transformatie aantal samenvoegen voor meer informatie.

Tellingen en functies van meerdere gegevenssets samenvoegen

  1. Voeg Machine Learning Studio (klassiek) de module Build Counting Transform toe aan uw experiment en koppel de gegevensset die de nieuwe gegevens bevat die u wilt toevoegen.

  2. Gebruik de optie Moduletype om de bron van de nieuwe gegevens aan te geven. U kunt gegevens uit verschillende bronnen samenvoegen.

    • Gegevensset: kies deze optie als de nieuwe gegevens worden opgegeven als een gegevensset in Machine Learning Studio (klassiek).

    • Blob: kies deze optie als de nieuwe gegevens worden opgegeven als een blok-blob in Windows Azure-opslag.

    • MapReduce: kies deze optie als u de functies Map/Reduce wilt aanroepen om de gegevens te verwerken.

      Als u deze optie wilt gebruiken, moeten de nieuwe gegevens worden opgegeven als een blob in Windows Azure Storage en moet u toegang hebben tot een geïmplementeerd HDInsight-cluster. Wanneer u het experiment hebt uitgevoerd, wordt er een Map/Reduce-taak gestart in het cluster om de telling uit te voeren.

      Zie https://azure.microsoft.com/services/hdinsight/ voor meer informatie

  3. Nadat u de gegevensopslagmodus hebt opgegeven, geeft u eventuele aanvullende verbindingsgegevens op voor de nieuwe gegevens:

    • Als u gegevens uit Hadoop of blob-opslag gebruikt, geeft u de clusterlocatie en referenties op.

    • Als u eerder een module Gegevens importeren in het experiment hebt gebruikt voor toegang tot gegevens, moet u de accountnaam en uw referenties opnieuw invoeren. De reden hiervoor is dat de module Build Counting Transform afzonderlijk toegang heeft tot de gegevensopslag om de gegevens te lezen en de vereiste tabellen te bouwen.

  4. Bij het samenvoegen van tellingen moeten de volgende opties exact hetzelfde zijn in beide tellingstabellen:

    • Aantal klassen
    • De bits van de hash-functie
    • De seed van de hash-functie
    • Kolommen selecteren die moeten worden geteld

    De labelkolom kan verschillend zijn, zolang deze hetzelfde aantal klassen bevat.

  5. Gebruik de optie Tabeltype tellen om de indeling en het doel voor de bijgewerkte tabel aantal op te geven.

    Tip

    De indeling van de twee teltabellen die u wilt samenvoegen, moet hetzelfde zijn. Met andere woorden, als u een eerdere tellingstabel hebt opgeslagen met de indeling Woordenlijst, kunt u deze niet samenvoegen met tellingen die zijn opgeslagen met de CMSketch-indeling.

  6. Voer het experiment uit.

    De module maakt een featurization-transformatie die u kunt gebruiken als invoer voor de module Transformatie toepassen. De uitvoer van de module Transformatie toepassen is een getransformeerde gegevensset die kan worden gebruikt om een model te trainen.

  7. Zie Merge Count Transform (Transformatie aantal samenvoegen) als u deze reeks tellingen wilt samenvoegen met een bestaande set functies op basis van tellingen.

Voorbeelden

Zie deze artikelen voor meer informatie over het counts-algoritme en de 100% van de modellering op basis van tellingen in vergelijking met andere methoden.

De volgende experimenten in de Azure AI Gallery laten zien hoe u op telling gebaseerde leerprocessen kunt gebruiken om verschillende voorspellende modellen te bouwen:

Moduleparameters

De volgende parameters worden gebruikt met alle opties:

Naam Type Bereik Optioneel Standaard Beschrijving
Aantal klassen Geheel getal >= 2 Vereist 2 Het aantal klassen voor het label.
De bits van de hash-functie Geheel getal [12;31] Vereist 20 Het aantal bits van het bereik van de hash-functie.
De seed van de hash-functie Geheel getal alle Vereist 1 De seed voor de hash-functie.
Moduletype Vereist Gegevensset Het type module dat moet worden gebruikt bij het genereren van de teltabel.
Tabeltype aantal CountTableType selecteren in de lijst Vereist Woordenlijst Geef de indeling van de count-tabel op.

De volgende opties zijn van toepassing wanneer u de bloboptie selecteert.

Naam Type Bereik Optioneel Standaard Beschrijving
Blobnaam Tekenreeks alle Vereist De naam van de invoerblob. Neem geen containernaam op.
Accountnaam Tekenreeks alle Vereist De naam van het opslagaccount.
Accountsleutel SecureString alle Vereist De sleutel van het opslagaccount.
Containernaam Tekenreeks alle Vereist De Azure Blob-container die de invoer-blob bevat.
Kolommen tellen Tekenreeks alle Vereist De op één gebaseerde indexen van groepen kolommen die moeten worden geteld.
Kolom labelen Geheel getal >= 1 Vereist 1 De op één gebaseerde index van de labelkolom.
Blob-indeling alle Vereist CSV De indeling van het blobtekstbestand.

De volgende parameters zijn van toepassing wanneer u MapReduce gebruikt om tellingen te genereren:

Naam Type Bereik Optioneel Standaard Beschrijving
Standaardnaam van opslagaccount Tekenreeks alle Vereist geen De naam van het opslagaccount met de invoerblob.
Standaardsleutel voor opslagaccount SecureString alle Vereist geen De sleutel van het opslagaccount met de invoerblob.
Standaardcontainernaam Tekenreeks alle Vereist geen De naam van de blobcontainer voor het schrijven van de teltabel.
Cluster-URI Tekenreeks alle Vereist geen De URI naar het HDInsight Hadoop-cluster.
Gebruikersnaam Tekenreeks alle Vereist geen De gebruikersnaam voor aanmelding bij het HDInsight Hadoop-cluster.

Met de volgende parameters wordt de indeling van de teltabel bepaald:

Naam Type Bereik Optioneel Standaard Beschrijving
Tabeltype aantal CountTableType Lijst Vereist Woordenlijst Type van de tabel Count.
Kolomindex of -naam labelen ColumnSelection Vereist als teltabel is opgeslagen als gegevensset geen Selecteer de labelkolom.
Kolommen selecteren die moeten worden geteld ColumnSelection Vereist als teltabel is opgeslagen als gegevensset Selecteer kolommen om te tellen. Deze kolommen worden beschouwd als categorische functies.
Diepte van CM-sketchtabel Geheel getal >= 1 Vereist als de count-tabel cmsketch-indeling gebruikt 4 De diepte van de CM-sketchtabel, die gelijk is aan het aantal hash-functies.
Breedte van CM-sketchtabel Geheel getal [1;31] Vereist als de count-tabel cmsketch-indeling gebruikt 20 De breedte van de CM-sketchtabel, het aantal bits van het bereik van de hash-functie.
Kolomindex of naamkolom labelen ColumnSelection Vereist als teltabel is opgeslagen als gegevensset Selecteert de labelkolom.
Kolommen selecteren die moeten worden geteld ColumnSelection Vereist als teltabel is opgeslagen als gegevensset Selecteert kolommen om te tellen. Deze kolommen worden beschouwd als categorische functies.
Tabeltype aantal Vereist als teltabel is opgeslagen als gegevensset Woordenlijst Hiermee geeft u het type van de tabel aantal.
Diepte van CM-sketchtabel Geheel getal >= 1 Vereist als de tabel count is opgeslagen als CMSketch 4 De diepte van de CM-sketchtabel, die gelijk is aan het aantal hash-functies.
Breedte van CM-sketchtabel Geheel getal [1;31] Vereist als de tabel count is opgeslagen als CMSketch 20 De breedte van de CM-sketchtabel, het aantal bits van het bereik van de hash-functie.

Uitvoerwaarden

Naam Type Description
Transformatie tellen ITransform-interface De teltransformator.

Uitzonderingen

Uitzondering Description
Fout 0003 Uitzondering treedt op als een of meer invoer null of leeg zijn.
Fout 0004 Uitzondering treedt op als de parameter kleiner is dan of gelijk is aan een specifieke waarde.
Fout 0005 Uitzondering treedt op als de parameter kleiner is dan een specifieke waarde.
Fout 0007 Uitzondering treedt op als de parameter groter is dan een specifieke waarde.
Fout 0009 Uitzondering treedt op als de naam van het Azure-opslagaccount of de containernaam onjuist is opgegeven.
Fout 0065 Er treedt een uitzondering op als de naam van de Azure-blob onjuist is opgegeven.
Fout 0011 Er treedt een uitzondering op als het doorgegeven argument voor de kolomset niet van toepassing is op een van de kolommen van de gegevensset.
Fout 0049 Uitzondering treedt op in het geval dat het niet mogelijk is om een bestand te parseren.
Fout 1000 Interne bibliotheek-uitzondering.
Fout 0059 Er treedt een uitzondering op als een kolomindex die is opgegeven in een kolom kiezen niet kan worden geparseerd.
Fout 0060 Uitzondering treedt op wanneer een buiten bereik kolombereik is opgegeven in een kolom kiezen.
Fout 0089 Uitzondering treedt op wanneer het opgegeven aantal klassen kleiner is dan het werkelijke aantal klassen in een gegevensset die wordt gebruikt voor het tellen.

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

Zie Foutcodes voor een lijst Machine Learning REST API API-uitzonderingen.

Zie ook

Learning met counts