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 in residualerna 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.

Anteckning

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örbättrade beslutsträd en effektiv implementering av MART-algoritmen för toningsökning. Gradient boost är en maskininlärningsteknik för regressionsproblem. Den skapar varje regressionsträd steg för steg med hjälp av en fördefinierad förlustfunktion för att mäta felet i varje steg och korrigera för det i nästa. Förutsägelsemodellen är alltså i praktiken en ensemble av svagare förutsägelsemodeller.

Vid regressionsproblem bygger en ökning av 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åklassigare beslutsträd.

Så här konfigurerar du regression för förbättrat beslutsträd

  1. Lägg till komponenten Boosted Decision Tree (Förbättrat beslutsträd) 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 parameterrensning. Välj ett värdeintervall att iterera över, så itererar Tune Model Hyperparameters ö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 potentiellt ö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 orsaka 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ärningstakt: Skriv ett tal mellan 0 och 1 som definierar stegstorleken under inlärningen. Inlärningstakten avgör hur snabbt eller långsamt inlärningen konvergerar på den optimala lösningen. Om stegstorleken är för stor kan du felsöka den optimala lösningen. Om stegstorleken är för liten tar träningen längre tid att konvergera på den bästa lösningen.

  6. Antal konstruerade träd: Ange det totala antalet beslutsträd som ska skapas i ensemblen. Genom att skapa fler beslutsträd kan du potentiellt 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öndrad: Ange ett valfritt icke-negativt heltal som ska användas som slumpmässigt startvä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 ursprungliga startvärde hämtas från systemklockan.

  8. Träna modellen:

    • Om du anger Skapa träningsläge till Enskild parameter ansluter du en taggad datauppsättning och komponenten Träna modell .

    • Om du ställer in Skapa träningslägeParameterintervall ansluter du en taggad datauppsättning och tränar modellen med hjälp av Tune Model Hyperparameters.

    Anteckning

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

    Om du skickar en enda uppsättning parametervärden till komponenten Tune Model Hyperparameters ignoreras värdena när en uppsättning inställningar för varje parameter förväntas, och standardvärdena för learner används.

    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 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 Träna modell till Poängsätta modell 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.