Fast Forest Quantile Regression

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.

Skapar en modell för kvantil regression

Kategori: Machine Learning/initiera modell/regression

Anteckning

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

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

Modulöversikt

Den här artikeln beskriver hur du använder modulen Fast Forest Quantile Regression i Machine Learning Studio (klassisk) för att skapa en regressionsmodell som kan förutsäga värden för ett angivet antal kvantiler.

Kvantil regression är användbart om du vill förstå mer om fördelningen av det förutsagda värdet i stället för att få ett enda medelvärde för förutsägelsevärdet. Den här metoden har många program, inklusive:

  • Förutsäga priser

  • Uppskatta elevens prestanda eller använda tillväxtdiagram för att utvärdera underordnad utveckling

  • Identifiera prediktiva relationer i fall där det bara finns en svag relation mellan variabler

Den här regressionsalgoritmen är en metod för övervakad inlärning, vilket innebär att den kräver en taggad datamängd som innehåller en etikettkolumn. Eftersom det är en regressionsalgoritm får etikettkolumnen endast innehålla numeriska värden.

Mer om kvantil regression

Det finns många olika typer av regression. I den mest grundläggande meningen innebär regression att passa in en modell på ett mål som uttrycks som en numerisk vektor. Statistiker har dock utvecklat allt mer avancerade regressionsmetoder.

Den enklaste definitionen av kvantil är ett värde som delar upp en uppsättning data i lika stora grupper. Kvantilvärdena markerar därför gränserna mellan grupper. Statistiskt sett är kvantiler värden som tas med jämna mellanrum från inversen av den kumulativa fördelningsfunktionen (CDF) för en slumpmässig variabel.

Medan linjära regressionsmodeller försöker förutsäga värdet för en numerisk variabel med hjälp av en enda skattning , kan medelvärdet ibland behöva du förutsäga intervallet eller hela fördelningen av målvariabeln. Tekniker som Bayesian regression och kvantil regression har utvecklats för detta ändamål.

Kvantil regression hjälper dig att förstå fördelningen av det förutsagda värdet. Trädbaserade modeller för kvantil regression, till exempel den som används i den här modulen, har den ytterligare fördelen att de kan användas för att förutsäga icke-parametriska fördelningar.

Mer implementeringsinformation och resurser finns i avsnittet Tekniska anteckningar.

Så här konfigurerar du Fast_Forest Quantile Regression

Du konfigurerar egenskaperna för regressionsmodellen med hjälp av den här modulen och tränar den sedan med någon av träningsmodulerna.

Konfigurationsstegen skiljer sig avsevärt beroende på om du tillhandahåller en fast uppsättning parametrar eller ställer in en parametersökning.

Skapa en modell för kvantil regression med hjälp av fasta parametrar

Förutsatt att du vet hur du vill konfigurera modellen kan du ange en specifik uppsättning värden som argument. När du tränar modellen använder du Train Model (Träna modell).

  1. Lägg till modulen Fast Forest Quantile Regression i experimentet i Studio (klassisk).

  2. Ställ in alternativet Skapa tränarlägeEnkel parameter.

  3. I Antal träd anger du det maximala antalet träd som kan skapas i ensemblen. Om du skapar fler träd leder det vanligtvis till större noggrannhet, men på bekostnad av längre träningstid.

  4. För Antal löv anger du det maximala antalet löv eller terminalnoder som kan skapas i val annat träd.

  5. För Minsta antal träningsinstanser som krävs för att skapa ett löv anger du det minsta antal exempel 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

  6. För Bagging fraction (Bagging fraction) anger du ett tal mellan 0 och 1 som representerar den fraktion av prover som ska användas när du skapar varje grupp med kvantiler. Urval väljs slumpmässigt med ersättning.

  7. För Funktionsfraktion skriver du ett tal mellan 0 och 1 som anger bråkdelen av det totala antalet funktioner som ska användas när du skapar ett visst träd. Funktioner väljs alltid slumpmässigt.

  8. För Split fraction (Dela fraktion) skriver du ett tal mellan 0 och 1 som representerar fraktionen av funktioner som ska användas i varje del av trädet. De funktioner som används väljs alltid slumpmässigt.

  9. För Antal kvantilexempel anger du antalet fall som ska utvärderas när kvantilerna beräknas.

  10. För att kvantiler ska beräknas skriver du en kommaavgränsad lista över de kvantiler som du vill att modellen ska träna och skapa förutsägelser för.

    Om du till exempel vill skapa en modell som beräknar för kvartiler skriver du 0.25, 0.5, 0.75.

  11. Du kan också ange ett värde för Slumptalsvärde för att seeda slumptalsgeneratorn som används av modellen. Standardvärdet är 0, vilket innebär att ett slumpmässigt startvärde väljs.

    Du bör ange ett värde om du behöver återskapa resultat över efterföljande körningar på samma data.

  12. Välj alternativet Tillåt okända kategoriska nivåer för att skapa en grupp för okända värden.

    Om du avmarkerar den kan modellen bara acceptera de värden som finns i träningsdata.

    Om du väljer det här alternativet kan modellen vara mindre exakt för kända värden, men den kan ge bättre förutsägelser för nya (okända) värden.

  13. Anslut en datauppsättning för träning väljer du en kolumn med en etikett och ansluter Träningsmodell.

  14. Kör experimentet.

Använda en parametersökning för att skapa en kvantil regressionsmodell

Om du inte är säker på de optimala parametrarna för modellen kan du konfigurera en parametersökning och ange ett intervall med värden som argument. När du tränar modellen använder du modulen Justera hyperparametrar för modell.

  1. Lägg till modulen Fast Forest Quantile Regression i experimentet i Studio (klassisk).

  2. Ställ in alternativet Skapa tränarlägeParameterintervall.

    En parametersökning rekommenderas om du inte är säker på de bästa parametrarna. Genom att ange flera värden och använda modulen Tune Model Hyperparameters för att träna modellen kan du hitta den optimala uppsättningen parametrar för dina data.

    När du har valt en parametersökning kan du ange antingen ett enda värde eller flera värden för varje egenskap som kan ställas in. Du kan till exempel välja att åtgärda antalet träd, men slumpmässigt ändra andra värden som styr hur varje träd byggs.

    • Om du skriver ett enda värde används det värdet för alla iterationer av avsökning, även om andra värden ändras.

    • Skriv en kommaavgränsad lista med diskreta värden som ska användas. Dessa värden används i kombination med andra egenskaper.

    • Använd Range Builder för att definiera ett intervall med kontinuerliga värden.

    Under träningsprocessen itererar modulen Tune Model Hyperparameters över olika kombinationer av värdena för att skapa den bästa modellen.

  3. För Maximalt antal löv per träd anger du det totala antalet löv eller terminalnoder som tillåts i varje träd.

  4. För Antal träd som konstrueras anger du antalet iterationer som ska utföras när du konstruerar ensemblen. Genom att skapa fler träd kan du eventuellt få bättre täckning på bekostnad av ökad träningstid.

  5. För Minsta antal exempel per lövnod anger du hur många fall som krävs för att skapa en lövnod.

    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.

  6. I Intervall för fraktion anger du den fraktion av prover som ska användas när du skapar varje grupp med kvantiler. Urval väljs slumpmässigt med ersättning.

    Varje bråktal ska vara ett tal mellan 0 och 1. Avgränsa flera bråktal med kommatecken.

  7. I Intervall för funktionsfraktion anger du bråkdelen av de totala funktioner som ska användas när du skapar varje grupp med kvantiler. Funktioner väljs slumpmässigt.

    Varje bråktal ska vara ett tal mellan 0 och 1. avgränsa flera bråktal med kommatecken.

  8. I Intervall för delat bråk anger du en del av de funktioner som ska användas i varje grupp med kvantiler. De faktiska funktioner som används väljs slumpmässigt.

    Varje bråktal ska vara ett tal mellan 0 och 1. avgränsa flera bråktal med kommatecken.

  9. I Antal urval som används för att skatta kvantilerna anger du hur många urval som ska utvärderas när kvantilerna beräknas. Om du skriver ett tal som är större än antalet tillgängliga exempel används alla exempel.

  10. I Obligatoriska kvantilvärden skriver du en kommaavgränsad lista över de kvantiler som du vill att modellen ska träna på. Om du till exempel vill skapa en modell som beräknar kvartiles skriver du "0,25, 0,5, 0,75

  11. I Slumptalsvärde skriver du ett värde för att seeda slumptalsgeneratorn som används av modellen. Användning av ett start seed är användbart för att återskapa dubblettkörningar.

    Standardvärdet är 0, vilket innebär att ett slumpmässigt startvärde väljs.

  12. Välj alternativet Tillåt okända värden för kategoriska funktioner för att skapa en grupp för okända värden i tränings- eller valideringsuppsättningarna.

    Om du avmarkerar det här alternativet kan modellen bara acceptera de värden som finns i träningsdata.

    Om du väljer det här alternativet kan modellen vara mindre exakt för kända värden, men den kan ge bättre förutsägelser för nya (okända) värden.

  13. Anslut en träningsdatamängd väljer du etikettkolumnen och ansluter modulen Tune Model Hyperparameters.

    Anteckning

    Använd inte Träna modell. Om du konfigurerar ett parameterintervall men tränar med hjälp av Träna modell används bara det första värdet i listan över parameterintervall.

  14. Kör experimentet.

Resultat

När träningen är klar:

  • Om du vill se de slutliga hyperparametrarna för den optimerade modellen högerklickar du på utdata för Hyperparametrar för justera modell och väljer Visualisera.

Exempel

Exempel på hur du använder den här modulen finns i Azure AI Gallery:

  • Kvantil regression: Visar hur du skapar och tolkar en modell för kvantil regression med hjälp av datamängden autopris.

Teknisk information

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

Implementeringsdetaljer

Modulen Fast Forest Quantile Regression i Machine Learning är en implementering av slumpmässig regression av skogskvantil med beslutsträd. Slumpmässiga skogar kan vara till hjälp för att undvika överfitting som kan uppstå med beslutsträd. Ett beslutsträd är ett binärt trädliknande flödesdiagram, där en bestämmer vilken av de två underordnade noderna som ska fortsättas vid varje inre nod, baserat på värdet för en av indatafunktionerna.

I varje lövnod returneras ett värde. I de inre noderna baseras beslutet på testet ""x≤v", där x är värdet för funktionen i indataprovet och v är ett av de möjliga värdena för den här funktionen. De funktioner som kan skapas av ett regressionsträd är alla bitvis konstanta funktioner.

I en slumpmässig skog skapas en ensemble med träd med hjälp av bagging för att välja en delmängd av slumpmässiga urval och funktioner i träningsdata och sedan anpassa ett beslutsträd till varje delmängd av data. Till skillnad från algoritmen för slumpmässig skog, som räknar ut utdata för alla träd, behåller Fast Forest Quantile Regression alla förutsagda etiketter i träd som anges av parametern Antal kvantilprov och matar ut fördelningen, så att användaren kan visa kvantilvärdena för den angivna instansen.

Mer information om kvantil regression finns i dessa böcker och artiklar:

Modulparametrar

Namn Typ Intervall Valfritt Description Standardvärde
Skapa träningsläge CreateLearnerMode Lista:Enskild parameter| Parameterintervall Obligatorisk Enskild parameter Skapa avancerade utbildningsalternativ
Antal träd Integer mode:Single Parameter 100 Ange antalet träd som ska konstrueras
Antal löv Integer mode:Single Parameter 20 Ange det maximala antalet löv per träd. Standardnumret är 20
Minsta antal träningsinstanser som krävs för att skapa ett löv Integer mode:Single Parameter 10 Anger det minsta antalet träningsinstanser som krävs för att skapa ett löv
Bagging fraction (Bagging fraction) Float mode:Single Parameter 0.7 Anger bråkdelen av träningsdata som ska användas för varje träd
Funktionsfraktion Float mode:Single Parameter 0.7 Anger bråkdelen av funktionerna (väljs slumpmässigt) som ska användas för varje träd
Dela fraktion Float mode:Single Parameter 0.7 Anger bråkdelen av funktionerna (väljs slumpmässigt) som ska användas för varje delning
Antal kvantilexempel Integer Max: 2147483647 mode:Single Parameter 100 Anger antalet instanser som används i varje nod för att uppskatta kvantiler
Kvantiler som ska beräknas Sträng mode:Single Parameter "0.25;0.5;0.75" Anger vilken kvantil som ska beräknas
Slumptals seed Integer Valfritt Ange ett startnummer för den slumptalsgenerator som används av modellen. Lämna tomt som standard.
Tillåt okända kategoriska nivåer Boolesk Obligatorisk true Om sant skapar du ytterligare en nivå för varje kategorisk kolumn. Nivåer i testdatamängden som inte är tillgängliga i träningsdatamängden mappas till den här ytterligare nivån.
Maximalt antal löv per träd ParameterRangeSettings [16;128] mode:Parameterintervall 16; 32; 64 Ange intervallet för det maximala antalet löv som tillåts per träd
Antal träd som har konstruerats ParameterRangeSettings [1;256] mode:Parameterintervall 16; 32; 64 Ange intervallet för det maximala antalet träd som kan skapas under träningen
Minsta antal exempel per lövnod ParameterRangeSettings [1;10] mode:Parameterintervall 1; 5; 10 Ange intervallet för det minsta antal ärenden som krävs för att skapa en lövnod
Intervall för bagging fraction ParameterRangeSettings [0.25;1.0] mode:Parameterintervall 0.25; 0.5; 0.75 Anger intervallet för bråkdelen av träningsdata som ska användas för varje träd
Intervall för funktionsfraktion ParameterRangeSettings [0.25;1.0] mode:Parameterintervall 0.25; 0.5; 0.75 Anger intervallet för bråkdel av funktioner (väljs slumpmässigt) som ska användas för varje träd
Intervall för delat bråktal ParameterRangeSettings [0.25;1.0] mode:Parameterintervall 0.25; 0.5; 0.75 Anger intervallet för bråkdel av funktioner (slumpmässigt) som ska användas för varje del
Antal exempel som används för att uppskatta kvantilerna Integer mode:Parameterintervall 100 Antal exempel som används för att uppskatta kvantilerna
Obligatoriska kvantilvärden Sträng mode:Parameterintervall "0.25;0.5;0.75" Nödvändigt kvantilvärde som används vid parametersökning

Utdata

Namn Typ Description
Ej tränad modell ILearner-gränssnitt En tränad modell för kvantil regression som kan anslutas till modulerna Träna generisk modell eller Kors validera modell.

Se även

Regression