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.
- Zie informatie over het verplaatsen machine learning van ML Studio (klassiek) naar Azure Machine Learning.
- Meer informatie over Azure Machine Learning.
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
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.
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.
Klik op Launch column selector om één sleutelkolom te kiezen voor de gegevensset aan de linkerkant.
Klik op Launch column selector om één sleutelkolom te kiezen voor de gegevensset aan de rechterkant.
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 dana1000
.Als u deze optie uitselecteert, wordt de gevoeligheid van de case niet afgedwongen en
A1000
wordt deze als hetzelfde beschouwd als .a1000
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.
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.
Voer het experiment uit of selecteer de module Join Data en selecteer Geselecteerde uitvoeren om de join uit te voeren.
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:
Detectie van borstkanker: Join-gegevens worden gebruikt om de positieve trainingsgevallen te combineren met de negatieve trainingsgevallen nadat het aandeel gevallen is aangepast.
Voorspelling van vluchtvertraging: In dit voorbeeld wordt Join Data gebruikt om nuttige functies uit externe gegevenssets samen te brengen.
Filmaanbeveling: Er worden twee gegevenssets toegevoegd, zodat we de aanbevolen filmtitels kunnen presenteren in plaats van een film-id.
Voorspelling van prestaties van studenten: In dit voorbeeld wordt Join Data gebruikt om nieuwe functies in te brengen.
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:
-
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="-")
-
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.