Koppla data

Ansluter till två datauppsättningar

Kategori: Datatransformering/manipulering

Anteckning

Gäller för: Machine Learning Studio (klassisk)

Det här innehållet gäller endast Studio (klassisk). Liknande dra-och släpp moduler har lagts till i Azure Machine Learning designer. Mer information i den här artikeln är att jämföra de två versionerna.

Modulöversikt

Den här artikeln beskriver hur du använder modulen Join Data (Koppla data) i Azure Machine Learning Studio (klassisk) för att sammanfoga två datauppsättningar med en kopplingsåtgärd i databasformat.

Om du vill utföra en koppling på två datauppsättningar måste de vara relaterade till en enda nyckelkolumn. Sammansatta nycklar stöds inte.

Så här konfigurerar du kopplingsdata

  1. I Azure Machine Learning Studio (klassisk) lägger du till de datauppsättningar som du vill kombinera och drar sedan modulen Koppla data till experimentet.

    Du hittar modulen i kategorin Datatransformering under Manipulation.

  2. Anslut datauppsättningarna till modulen Anslut data.

    Modulen Kopplingsdata stöder inte en höger yttre koppling, så om du vill se till att rader från en viss datauppsättning ingår i utdata måste datauppsättningen finnas på vänster indata.

  3. Klicka på Starta kolumnväljaren för att välja en enda nyckelkolumn för datauppsättningen till vänster indata.

  4. Klicka på Starta kolumnväljaren för att välja en enda nyckelkolumn för datauppsättningen till höger indata.

  5. Välj alternativet Matcha fall om du ansluter till en textkolumn och vill se till att koppling bevarar fallkänsligheten.

    Om du till exempel väljer det här alternativet A1000 betraktas det som ett annat nyckelvärde än a1000 .

    Om du avmarkerar det här alternativet tillämpas inte ärendets känslighet och A1000 anses vara samma som a1000 .

  6. Använd listrutan Kopplingstyp för att ange hur datauppsättningarna ska kombineras. Typer:

    • Inre koppling: En inre koppling är den vanliga kopplingsåtgärden. Den returnerar endast de kombinerade raderna när värdena för nyckelkolumnerna matchar.

    • Vänster yttre koppling: En vänster yttre koppling returnerar sammanfogade rader för alla rader från den vänstra tabellen. När en rad i den vänstra tabellen inte har några matchande rader i den högra tabellen innehåller den returnerade raden saknade värden för alla kolumner som kommer från den högra tabellen om du inte anger ett ersättningsvärde för saknade värden.

    • Fullständig yttre koppling: En fullständig yttre koppling returnerar alla rader från den vänstra tabellen (table1) och från den högra tabellen (table2).

      För var och en av raderna i den vänstra tabellen som inte har några matchande rader i den högra tabellen innehåller kopplingsresultatet en rad som innehåller saknade värden från den högra tabellen.

      För var och en av raderna i den högra tabellen som inte har några matchande rader i den vänstra tabellen innehåller kopplingsresultatet en rad som innehåller saknade värden för alla kolumner från den vänstra tabellen.

    • Vänster halvkoppling: En vänster halvkoppling returnerar endast värdena från den vänstra tabellen när värdena i nyckelkolumnerna matchar.

  7. För alternativet behåll höger nyckelkolumner i den sammanfogade tabellen:

    • Avmarkera alternativet för att hämta en enda nyckelkolumn i resultatet.
    • Låt alternativet vara markerat för att visa nycklarna från båda indatatabellerna.
  8. Kör experimentet eller välj modulen Join Data (Koppla data) och valt Run Selected (Kör valda) för att utföra koppling.

  9. Om du vill visa resultatet högerklickar du på modulen Join Data (Koppla data). Välj Results dataset (Resultatdatauppsättning) och klicka på Visualize (Visualisera).

Exempel

Du kan se exempel på hur den här modulen används i Azure AI Gallery:

Teknisk information

I det här avsnittet beskrivs implementeringsinformation och svar på några vanliga frågor.

Begränsningar

  • Den kombinerade datauppsättningen kan inte ha två kolumner med samma namn. Om de vänstra och högra datauppsättningarna har dubblettkolumnnamn läggs ett numeriskt suffix till i kolumnnamnen för den högra datauppsättningen så att de blir unika.

    Om båda datauppsättningarna till exempel hade en kolumn med namnet Month skulle kolumnen från den vänstra datauppsättningen förbli som den är och kolumnen från den högra datauppsättningen får namnet Month (1).

  • Algoritmen som används för jämförelse av nyckelvärden är hash-framtvingat.

  • Varje kolumn i den sammanfogade datauppsättningen bevarar en kategorisk typ om motsvarande kolumn i indatauppsättningen är kategorisk.

  • Om det finns några saknade värden i vänster yttre kopplingar skapas en kategorisk nivå i den vänstra datauppsättningen för saknade värden. Detta gäller även om det inte finns några saknade värden i den sammanfogade datauppsättningen (till höger).

Hur kan jag koppla en tabell till en sammansatt nyckel?

Om du behöver koppla en tabell som använder sammansatta nycklar (det vill säga att primärnyckeln förlitar sig på två oberoende kolumner) använder du en modul som följande för att sammanfoga innehållet i de två nyckelkolumnerna:

  • Köra R-skript

    Du kan till exempel använda kod som följande inuti R-skriptet för att sammanfoga den första och andra kolumnen i indataramen med ett bindestreck som avgränsare. paste(inputdf$Col1,inputdf$Col2,sep="-")

  • Använda SQL-transformering

    Sammanfogningsoperatorn i SQLite är || .

Hur kan jag koppla tabeller som inte har en nyckel?

Om datauppsättningen inte har någon nyckelkolumn kan du fortfarande kombinera den med en annan datauppsättning, antingen genom att generera en nyckel eller genom att använda modulen Lägg till kolumner.

Modulen Lägg till kolumner fungerar som R och kan sammanslå två datauppsättningar rad för rad om datauppsättningarna har samma antal rader. Ett fel uppstår om datauppsättningarna har en annan storlek.

Förväntade indata

Namn Typ Description
Datauppsättning1 Datatabell Första datauppsättningen som ska anslutas
Datauppsättning2 Datatabell Andra datauppsättningen som ska anslutas

Modulparametrar

Name Intervall Typ Standardvärde Description
Koppla nyckelkolumner för L Valfri ColumnSelection Välj kopplingsnyckelkolumnerna för den första datauppsättningen.
Koppla nyckelkolumner för R Valfri ColumnSelection Välj kopplingsnyckelkolumnerna för den andra datauppsättningen.
Matchningsfall Valfri Boolesk Sant Ange om en fallkänslig jämförelse tillåts i nyckelkolumner.
Kopplingstyp Lista Typ Inre koppling Välj en kopplingstyp.
Behålla rätt nyckelkolumner i en ansluten tabell Valfri Boolesk Sant Ange om du vill behålla nyckelkolumner från den andra datauppsättningen i den sammanfogade datauppsättningen.

Utdata

Namn Typ Description
Resultatdatauppsättning Datatabell Resultat av kopplingsåtgärd

Undantag

Undantag Description
Fel 0001 Ett undantag inträffar om det inte gick att hitta en eller flera angivna kolumner i datauppsättningen.
Fel 0003 Ett undantag inträffar om en eller flera indata är null eller tomma.
Fel 0006 Ett undantag inträffar om parametern är större än eller lika med det angivna värdet.
Fel 0016 Ett undantag inträffar om indatauppsättningarna som skickas till modulen ska ha kompatibla kolumntyper, men de inte gör det.
Fel 0017 Ett undantag inträffar om en eller flera angivna kolumner har typer som inte stöds av den aktuella modulen.
Fel 0020 Ett undantag inträffar om antalet kolumner i vissa datauppsättningar som skickas till modulen är för litet.
Fel 0028 Ett undantag inträffar när kolumnuppsättningen innehåller dubblettkolumnnamn och det inte tillåts.
Fel 0011 Ett undantag inträffar om argumentet för den skickade kolumnuppsättningen inte gäller för några datauppsättningskolumner.
Fel 0027 Ett undantag inträffar när två objekt måste ha samma storlek, men de inte är det.

En lista över fel som är specifika för Studio-moduler (klassisk) finns i Machine Learning felkoder.

En lista över API-undantag finns i Machine Learning REST API felkoder.

Se även

Manipulation
Datatransformering
A-Z-modullista