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.
- Se information om hur du flyttar maskininlärningsprojekt från ML Studio (klassisk) till Azure Machine Learning.
- Läs mer om Azure Machine Learning.
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
Skapa en modell för kvantil regression med 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).
Lägg till modulen Fast Forest Quantile Regression i experimentet i Studio (klassisk).
Ställ in alternativet Skapa tränarläge på Enkel parameter.
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.
För Antal löv anger du det maximala antalet löv eller terminalnoder som kan skapas i val annat träd.
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
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.
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.
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.
För Antal kvantilexempel anger du antalet fall som ska utvärderas när kvantilerna beräknas.
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
.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.
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.
Anslut en datauppsättning för träning väljer du en kolumn med en etikett och ansluter Träningsmodell.
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.
Lägg till modulen Fast Forest Quantile Regression i experimentet i Studio (klassisk).
Ställ in alternativet Skapa tränarläge på Parameterintervall.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
Relaterad forskning
Mer information om kvantil regression finns i dessa böcker och artiklar:
Kvantil regressionsskogar. Nicolai Meinshausen
http://jmlr.org/papers/volume7/meinshausen06a/meinshausen06a.pdf
Slumpmässiga skogar. Leo Breiman.
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. |