Delen via


Gegevens samenvoegen

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.

Voegt twee gegevenssets samen

Categorie: Gegevenstransformatie/manipulatie

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 Join Data in Machine Learning Studio (klassiek) gebruikt om twee gegevenssets samen te voegen met behulp van een join-bewerking in databasestijl.

Als u een join wilt uitvoeren op twee gegevenssets, moeten deze worden gerelateerd aan één sleutelkolom . Samengestelde sleutels worden niet ondersteund.

Joingegevens configureren

  1. Voeg Machine Learning Studio (klassiek) de gegevenssets toe die u wilt combineren en sleep vervolgens de module Gegevens toevoegen naar uw experiment.

    U vindt de module in de categorie Gegevenstransformatie onder Manipulatie.

  2. Verbinding maken gegevenssets naar de module Join Data.

    De module Join Data biedt geen ondersteuning voor een right outer join, dus als u ervoor wilt zorgen dat rijen uit een bepaalde gegevensset worden opgenomen in de uitvoer, moet die gegevensset aan de linkerkant worden ingevoerd.

  3. Klik op Launch column selector om één sleutelkolom te kiezen voor de gegevensset aan de linkerkant.

  4. Klik op Launch column selector om één sleutelkolom te kiezen voor de gegevensset aan de rechterkant.

  5. Selecteer de optie Overeenkomstcase als u lid wordt van een tekstkolom en ervoor wilt zorgen dat de gevoeligheid van de case behouden blijft voor de join.

    Als u bijvoorbeeld deze optie selecteert, wordt A1000 beschouwd als een andere sleutelwaarde dan a1000.

    Als u deze optie uitselecteert, wordt de gevoeligheid van de case niet afgedwongen en A1000 wordt deze als hetzelfde beschouwd als .a1000

  6. Gebruik de vervolgkeuzelijst Jointype om op te geven hoe de gegevenssets moeten worden gecombineerd. Typen:

    • Inner Join: een inner join is de gebruikelijke joinbewerking. De gecombineerde rijen worden alleen retourneert wanneer de waarden van de sleutelkolommen overeenkomen.

    • Left Outer Join: een left outer join retourneert samengevoegde rijen voor alle rijen uit de linkertabel. Wanneer een rij in de linkertabel geen overeenkomende rijen in de rechtertabel bevat, bevat de geretourneerde rij ontbrekende waarden voor alle kolommen die afkomstig zijn uit de rechtertabel, tenzij u een vervangingswaarde opgeeft voor ontbrekende waarden.

    • Full Outer Join: een full outer retourneert alle rijen uit de linkertabel (table1) en van de rechtertabel (tabel2).

      Voor elk van de rijen in de linkertabel die geen overeenkomende rijen in de rechtertabel hebben, bevatten de joinresultaten een rij met ontbrekende waarden uit de rechtertabel.

      Voor elk van de rijen in de rechtertabel die geen overeenkomende rijen in de linkertabel hebben, bevatten de joinresultaten een rij met ontbrekende waarden voor alle kolommen uit de linkertabel.

    • Linker semi-join: een linker semi-join retourneert alleen de waarden uit de linkertabel wanneer de waarden van de sleutelkolommen overeenkomen.

  7. Houd voor de optie de juiste sleutelcolums in de samengevoegde tabel:

    • Deselecteer de optie om één sleutelkolom in de resultaten op te halen.
    • Laat de optie geselecteerd om de sleutels uit beide invoertabellen weer te geven.
  8. Voer het experiment uit of selecteer de module Join Data en selecteer Geselecteerde uitvoeren om de join uit te voeren.

  9. Als u de resultaten wilt weergeven, klikt u met de rechtermuisknop op de module Join Data , selecteert u Resultatengegevensset en klikt u op Visualize.

Voorbeelden

U kunt voorbeelden zien van hoe deze module wordt gebruikt in de Azure AI Gallery:

Technische opmerkingen

In deze sectie worden de implementatiedetails en antwoorden op enkele veelgestelde vragen beschreven.

Beperkingen

  • De gecombineerde gegevensset mag geen twee kolommen met dezelfde naam hebben. Als de gegevenssets links en rechts dubbele kolomnamen hebben, wordt een numeriek achtervoegsel toegevoegd aan de kolomnamen van de rechter gegevensset om deze uniek te maken.

    Als beide gegevenssets bijvoorbeeld een kolom met de naam Maand hadden, zou de kolom uit de linker gegevensset hetzelfde blijven en krijgt de kolom uit de rechter gegevensset de naam Maand (1).

  • Het algoritme dat wordt gebruikt om sleutelwaarden te vergelijken, wordt geforceerd gehasht.

  • Elke kolom van de samengevoegde gegevensset behoudt een categorisch type als de bijbehorende kolom van de invoerset categorisch is.

  • Als left outer joins ontbreken, wordt in de linker gegevensset een categorisch niveau gemaakt voor ontbrekende waarden. Dit geldt zelfs als er geen waarden ontbreken in de samengevoegde (rechtse) gegevensset.

Hoe kan ik een tabel met een samengestelde sleutel aan een tabel deelnemen?

Als u een tabel wilt samenvoegen die gebruikmaakt van samengestelde sleutels (dat wil zeggen, de primaire sleutel is afhankelijk van twee onafhankelijke kolommen), gebruikt u een module zoals de volgende om de inhoud van de twee sleutelkolommen samen tevoegen:

  • R-Script uitvoeren

    Gebruik bijvoorbeeld code zoals de volgende in het R-script om de eerste en tweede kolom van het invoergegevensframe samen tevoegen met behulp van een koppelteken als scheidingsteken. paste(inputdf$Col1,inputdf$Col2,sep="-")

  • SQL-transformatie toepassen

    De samenvoegingsoperator in SQLite is ||.

Hoe kan ik tabellen die geen sleutel hebben, lid maken?

Als uw gegevensset geen sleutelkolom heeft, kunt u deze nog steeds combineren met een andere gegevensset, door een sleutel te genereren of door de module Kolommen toevoegen te gebruiken.

De module Kolommen toevoegen gedraagt zich als R en kan twee gegevenssets per rij samenvoegen als de gegevenssets hetzelfde aantal rijen hebben. Er teert een fout als de gegevenssets van een andere grootte zijn.

Verwachte invoer

Naam Type Description
Gegevensset1 Gegevenstabel Eerste gegevensset die moet worden toegevoegd
Gegevensset2 Gegevenstabel Tweede gegevensset die moet worden toegevoegd

Moduleparameters

Name Bereik Type Standaard Beschrijving
Sleutelkolommen voor L toevoegen Alle ColumnSelection Selecteer de join-sleutelkolommen voor de eerste gegevensset.
Sleutelkolommen voor R toevoegen Alle ColumnSelection Selecteer de join-sleutelkolommen voor de tweede gegevensset.
Overeenkomstcase Alle Boolean-waarde True Geef aan of een hoofd-gevoelige vergelijking is toegestaan in sleutelkolommen.
Relatietype Lijst Type Inner join Kies een jointype.
Juiste sleutelkolommen behouden in de samengevoegde tabel Alle Boolean-waarde True Geef aan of sleutelkolommen uit de tweede gegevensset in de samengevoegde gegevensset moeten worden behouden.

Uitvoer

Naam Type Description
Gegevensset met resultaten Gegevenstabel Resultaat van join-bewerking

Uitzonderingen

Uitzondering Description
Fout 0001 Er treedt een uitzondering op als een of meer opgegeven kolommen van de gegevensset niet kunnen worden gevonden.
Fout 0003 Er treedt een uitzondering op als een of meer invoer null of leeg zijn.
Fout 0006 Er treedt een uitzondering op als de parameter groter is dan of gelijk is aan de opgegeven waarde.
Fout 0016 Er treedt een uitzondering op als de invoersets die worden doorgegeven aan de module compatibele kolomtypen moeten hebben, maar niet.
Fout 0017 Er treedt een uitzondering op als een of meer opgegeven kolommen typen hebben die niet worden ondersteund door de huidige module.
Fout 0020 Er treedt een uitzondering op als het aantal kolommen in sommige gegevenssets dat aan de module wordt doorgegeven te klein is.
Fout 0028 Er treedt een uitzondering op wanneer de kolomset dubbele kolomnamen bevat en deze niet is toegestaan.
Fout 0011 Er treedt een uitzondering op als het argument voor de doorgegeven kolomset niet van toepassing is op gegevenssetkolommen.
Fout 0027 Er treedt een uitzondering op wanneer twee objecten dezelfde grootte moeten hebben, maar niet.

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

Manipulatie
Gegevenstransformatie
Lijst met A-Z-modules