Dela via


Förbättrad regressionskomponent för beslutsträd

I den här artikeln beskrivs en komponent i Azure Machine Learning-designern.

Använd den här komponenten för att skapa en ensemble av regressionsträd med hjälp av boost. Att öka innebär att varje träd är beroende av tidigare träd. Algoritmen lär sig genom att passa residualen av träden som föregick den. Att öka i en beslutsträdsensemble tenderar därför att förbättra noggrannheten med viss liten risk för mindre täckning.

Den här komponenten baseras på LightGBM-algoritmen.

Den här regressionsmetoden är en övervakad inlärningsmetod och kräver därför en märkt datauppsättning. Etikettkolumnen måste innehålla numeriska värden.

Kommentar

Använd endast den här komponenten med datauppsättningar som använder numeriska variabler.

När du har definierat modellen tränar du den med hjälp av träningsmodellen.

Mer om förstärkta regressionsträd

Att öka är en av flera klassiska metoder för att skapa ensemblemodeller, tillsammans med påse, slumpmässiga skogar och så vidare. I Azure Machine Learning använder förstärkta beslutsträd en effektiv implementering av algoritmen för MART-toningsökning. Gradient boost är en maskininlärningsteknik för regressionsproblem. Varje regressionsträd skapas stegvis med hjälp av en fördefinierad förlustfunktion för att mäta felet i varje steg och korrigera det i nästa steg. Förutsägelsemodellen är alltså i själva verket en ensemble av svagare förutsägelsemodeller.

Vid regressionsproblem skapar en ökning en serie träd stegvis och väljer sedan det optimala trädet med hjälp av en godtycklig differentierbar förlustfunktion.

Mer information finns i följande artiklar:

Metoden gradient boost kan också användas för klassificeringsproblem genom att minska dem till regression med en lämplig förlustfunktion. Mer information om implementeringen av förstärkta träd för klassificeringsuppgifter finns i Tvåklasssförstärkning av beslutsträd.

Så här konfigurerar du regression för förstärkt beslutsträd

  1. Lägg till komponenten Boosted Decision Tree i pipelinen. Du hittar den här komponenten under Machine Learning, Initiera, under kategorin Regression .

  2. Ange hur du vill att modellen ska tränas genom att ange alternativet Skapa träningsläge .

    • Enskild parameter: Välj det här alternativet om du vet hur du vill konfigurera modellen och ange en specifik uppsättning värden som argument.

    • Parameterintervall: Välj det här alternativet om du inte är säker på de bästa parametrarna och vill köra en parametersvepning. Välj ett intervall med värden att iterera över, och Tune Model Hyperparameters itererar över alla möjliga kombinationer av de inställningar som du angav för att fastställa de hyperparametrar som ger optimala resultat.

  3. Maximalt antal löv per träd: Ange det maximala antalet terminalnoder (löv) som kan skapas i valfritt träd.

    Genom att öka det här värdet kan du öka trädets storlek och få bättre precision, med risk för överanpassning och längre träningstid.

  4. Minsta antal exempel per lövnod: Ange det minsta antal fall som krävs för att skapa en terminalnod (löv) i ett träd.

    Genom att öka det här värdet ökar du tröskelvärdet för att skapa nya regler. Med standardvärdet 1 kan till exempel även ett enskilt fall leda till att en ny regel skapas. Om du ökar värdet till 5 måste träningsdata innehålla minst 5 fall som uppfyller samma villkor.

  5. Inlärningsfrekvens: Ange ett tal mellan 0 och 1 som definierar stegstorleken under inlärningen. Inlärningsfrekvensen avgör hur snabbt eller långsamt eleven konvergerar på den optimala lösningen. Om stegstorleken är för stor kan du överskrida den optimala lösningen. Om stegstorleken är för liten tar det längre tid att träna för att konvergera på den bästa lösningen.

  6. Antal byggda träd: Ange det totala antalet beslutsträd som ska skapas i ensemblen. Genom att skapa fler beslutsträd kan du eventuellt få bättre täckning, men träningstiden ökar.

    Om du anger värdet till 1; Men endast ett träd skapas (trädet med den inledande uppsättningen parametrar) och inga ytterligare iterationer utförs.

  7. Slumptalsutsäde: Ange ett valfritt icke-negativt heltal som ska användas som slumpmässigt seed-värde. Om du anger ett startvärde säkerställs reproducerbarheten mellan körningar som har samma data och parametrar.

    Som standard är det slumpmässiga fröet inställt på 0, vilket innebär att det första frövärdet erhålls från systemklockan.

  8. Träna modellen:

    • Om du ställer in Läget Skapa tränareEnskild parameter ansluter du en taggad datauppsättning och komponenten Träna modell .

    • Om du anger Skapa träningsläge till Parameterintervall ansluter du en taggad datauppsättning och tränar modellen med hjälp av Tune Model Hyperparameters.

    Kommentar

    Om du skickar ett parameterintervall till Train Model används endast standardvärdet i listan med enskilda parametrar.

    Om du skickar en enskild uppsättning parametervärden till komponenten Tune Model Hyperparameters ignoreras värdena när det förväntar sig ett intervall med inställningar för varje parameter och använder standardvärdena för eleven.

    Om du väljer alternativet Parameterintervall och anger ett enda värde för valfri parameter används det enskilda värdet som du angav under hela svepet, även om andra parametrar ändras över ett värdeintervall.

  9. Skicka pipelinen.

Resultat

När träningen är klar:

  • Om du vill använda modellen för bedömning ansluter du Train Model till Score Model för att förutsäga värden för nya indataexempel.

  • Om du vill spara en ögonblicksbild av den tränade modellen väljer du fliken Utdata i den högra panelen i tränad modell och klickar på ikonen Registrera datauppsättning . Kopian av den tränade modellen sparas som en komponent i komponentträdet och uppdateras inte vid efterföljande körningar av pipelinen.

Nästa steg

Se den uppsättning komponenter som är tillgängliga för Azure Machine Learning.