Dela data med recommender-delning

Viktigt

Stödet för Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.

Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.

Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.

I den här artikeln beskrivs hur du använder alternativet Dela rekommenderare i modulen Dela data i Machine Learning Studio (klassisk). Det här alternativet är användbart när du behöver förbereda datauppsättningar för träning och testning för användning med en rekommendationsmodell. Dessa modeller kräver inte bara ett visst format, utan kan vara mycket svåra att dela upp klassificeringar, användare och objekt på ett balanserat sätt utan särskilda verktyg.

Anteckning

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

Liknande dra och släpp-moduler är tillgängliga i Azure Machine Learning designer.

Alternativet Dela upp rekommenderare gör den här processen enklare genom att fråga efter vilken typ av rekommendationsmodell du arbetar med: rekommenderar du till exempel objekt, föreslår ett omdöme eller söker efter relaterade användare? Den delar sedan datauppsättningen med kriterier som du anger, till exempel hur du hanterar kalla användare eller kalla objekt.

När du delar upp datauppsättningarna returnerar modulen två datauppsättningar, en som är avsedd för träning och den andra för testning eller modellutvärdering. Om indatauppsättningen innehåller extra data per instans (till exempel klassificeringar) bevaras den i utdata.

Allmän information om datapartitionering för maskininlärningsexperiment finns i

Andra alternativ i modulen Dela data stöder olika sätt att dela upp data:

Dividera en datauppsättning som används av en rekommendationsmodell

Alternativet Dela upp rekommenderare tillhandahålls specifikt för data som används för att träna rekommendationssystem.

Innan du använder det här alternativet kontrollerar du att dina data har ett kompatibelt format. Rekommenderardelaren fungerar enligt antagandet att datauppsättningen endast består av användarobjektpar eller trippelr av användarobjektklassificering. Mer information finns i Krav på indata i den här artikeln.

  1. Lägg till modulen Split Data (Dela data) i experimentet och anslut den som indata till den datamängd som du vill dela.

  2. För Delningsläge väljer du Delning av rekommenderare.

  3. Ange följande alternativ för att styra hur värden delas upp. Ange en procentandel som representeras som ett tal mellan 0 och 1.

    • Bråkdel av användare som endast tränar: Ange den fraktion av användare som endast ska tilldelas till träningsdatauppsättningen. Det innebär att raderna aldrig skulle användas för att testa modellen.

    • Bråkdel av testanvändarklassificeringar för träning: Ange att en del av de användarklassificeringar som du har samlat in kan användas för träning.

    • Bråkdel av kalla användare: Kalla användare är användare som systemet inte har påträffat tidigare. Eftersom systemet vanligtvis inte har någon information om dessa användare är de värdefulla för träning, men förutsägelser kan vara mindre exakta.

    • Bråkdel av kalla objekt: Kalla objekt är objekt som systemet inte har påträffat tidigare. Eftersom systemet inte har någon information om dessa objekt är de värdefulla för träning, men förutsägelser kan vara mindre exakta.

    • Bråkdel av ignorerade användare: Med det här alternativet kan rekommenderaren ignorera vissa användare, vilket gör att du kan träna modellen på en delmängd data. Detta kan vara användbart av prestandaskäl. Du anger procentandelen användare som ska ignoreras.

    • Bråkdel av ignorerade objekt: Rekommenderaren kan ignorera vissa objekt och träna modellen på en delmängd data. Detta kan vara användbart av prestandaskäl. Du anger procentandelen objekt som ska ignoreras.

  4. Ta bort kallobjekt som skapas ibland: Det här alternativet är vanligtvis inställt på noll för att säkerställa att alla entiteter i testuppsättningen ingår i träningsuppsättningen.

    Ett objekt sägs vara "ibland kallt" om det bara täcks av testuppsättningen och det inte uttryckligen har valts som kall. Sådana objekt kan skapas i steg (4) och (6) i algoritmen som beskrivs i avsnittet How Recommender Data is Split (Så här delas rekommenderade data).

  5. Slumpmässigt startvärde för rekommenderare: Ange ett startvärde om du vill dela upp data på samma sätt varje gång. Annars delas som standard indata slumpmässigt, med hjälp av ett systemklockavärde som startvärde.

  6. Kör experimentet.

Exempel

För exempel på hur du delar upp en uppsättning klassificeringar och funktioner som används för träning eller testning av en rekommendationsmodell rekommenderar vi att du går igenom genomgången med det här exempelexperimentet i Azure AI Gallery: Filmrekommendation

Teknisk information

Det här avsnittet innehåller implementeringsinformation, tips och svar på vanliga frågor.

Krav för indata

Rekommenderardelaren fungerar enligt antagandet att datauppsättningen endast består av användarobjektpar eller trippelr av användarobjektklassificering. Därför kan inte modulen Dela data arbeta med datauppsättningar som har fler än tre kolumner för att undvika förvirring med data av funktionstyp.

Om din datauppsättning innehåller för många kolumner kan du få det här felet:

Fel 0022: Antalet valda kolumner i indatauppsättningen är inte lika med x

Som en lösning kan du använda Välj kolumner i datauppsättning för att ta bort vissa kolumner. Du kan alltid lägga till kolumnerna senare med hjälp av modulen Lägg till kolumner.

Om din datauppsättning har många funktioner som du vill använda i modellen kan du dela upp datauppsättningen med ett annat alternativ och träna modellen med hjälp av Träningsmodell i stället för Att träna Matchbox-rekommenderaren.

Detaljerad information om de dataformat som stöds finns i Träna Matchbox Recommender.

Användningstips

  • Ett fel uppstår om datauppsättningen inte innehåller minst två rader.

  • Om du anger ett tal i procent, eller om du använder en sträng som innehåller tecknet "%", tolkas värdet som en procentandel.

    Alla procentvärden måste vara inom intervallet (0, 100), utan värdena 0 och 100.

  • Om du anger ett tal eller en procentandel som är ett flyttal som är mindre än ett och du inte använder procentsymbolen (%) tolkas talet som ett proportionellt värde.

Implementeringsdetaljer

Följande algoritm används när du delar in data i tränings- och testuppsättningar för användning med en rekommendationsmodell:

  1. Den begärda fraktionen av ignorerade objekt tas bort med alla associerade observationer.

  2. Den begärda fraktionen av kalla objekt flyttas till testuppsättningen med alla associerade observationer.

  3. Den begärda fraktionen av ignorerade användare som finns kvar efter de första två stegen tas bort med alla associerade observationer.

  4. Den begärda fraktionen av kalla användare som finns kvar efter de första två stegen flyttas till testuppsättningen med alla associerade observationer.

  5. Den begärda delen av användare med enbart träning som finns kvar efter de första två stegen flyttas till träningsuppsättningen med alla associerade observationer.

  6. För varje användare som finns kvar efter alla föregående steg flyttas den begärda delen av testanvändarklassificeringarna för träning till träningsuppsättningen och resten flyttas till testuppsättningen.

    Minst en observation flyttas alltid till träningsuppsättningen för varje användare.

  7. Om det begärs kan instanser som är associerade med ibland skapade kalla objekt tas bort från testuppsättningen.

    Ett objekt sägs vara "ibland kallt" om det bara täcks av testuppsättningen och det inte uttryckligen valdes som kallt. Sådana objekt kan skapas av steg (4) och (6).

    Den förväntade användningen av det här alternativet är att det begärda antalet kalla användare och objekt har angetts till noll. Detta säkerställer att alla entiteter i testuppsättningen ingår i träningsuppsättningen.

Se även

DeladataPartition och Dela