Regressie snelle forestkwantiel

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Hiermee maakt u een regressiemodel voor kwantielen

Categorie: Machine Learning/ Model initialiseren/regressie

Notitie

Van toepassing op: Machine Learning Studio (klassiek)

Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.

Moduleoverzicht

In dit artikel wordt beschreven hoe u de module Fast Forest Quantile Regression in Machine Learning Studio (klassiek) gebruikt om een regressiemodel te maken dat waarden voor een opgegeven aantal kwantielen kan voorspellen.

Kwantielregressie is handig als u meer wilt weten over de verdeling van de voorspelde waarde in plaats van één gemiddelde voorspellingswaarde te krijgen. Deze methode heeft veel toepassingen, waaronder:

  • Prijzen voorspellen

  • De prestaties van studenten schatten of groeigrafieken toepassen om onderliggende ontwikkeling te beoordelen

  • Voorspellende relaties detecteren in gevallen waarin er alleen een zwakke relatie tussen variabelen is

Dit regressiealgoritme is een leermethode onder supervisie, wat betekent dat er een gelabelde gegevensset met een labelkolom nodig is. Omdat het een regressiealgoritme is, mag de labelkolom alleen numerieke waarden bevatten.

Meer informatie over regressie van kwantielen

Er zijn veel verschillende soorten regressie. In de meest eenvoudige zin betekent regressie dat een model moet worden passend gemaakt voor een doel dat wordt uitgedrukt als een numerieke vector. Statistici ontwikkelen echter steeds geavanceerdere methoden voor regressie.

De eenvoudigste definitie van kwantiel is een waarde die een set gegevens verdeelt in groepen met gelijke grootte; Daarom markeren de kwantielwaarden de grenzen tussen groepen. Statistisch gezien zijn kwantielen waarden die met regelmatige intervallen worden genomen van de inverse van de cumulatieve distributiefunctie (CDF) van een willekeurige variabele.

Terwijl lineaire regressiemodellen proberen de waarde van een numerieke variabele te voorspellen met behulp van één schatting, het gemiddelde, moet u soms het bereik of de volledige distributie van de doelvariabele voorspellen. Voor dit doel zijn technieken zoals Bayesiaanse regressie en kwantiel regressie ontwikkeld.

Kwantiel regressie helpt u de distributie van de voorspelde waarde te begrijpen. Op structuur gebaseerde regressiemodellen van kwantielen, zoals de modellen die in deze module worden gebruikt, hebben het extra voordeel dat ze kunnen worden gebruikt om niet-parametrische distributies te voorspellen.

Zie de sectie Technische notities voor aanvullende implementatiedetails en -resources.

How to configure Fast_Forest Quantile Regression

U configureert de eigenschappen van het regressiemodel met behulp van deze module en traint het vervolgens met behulp van een van de trainingsmodules.

Configuratiestappen verschillen aanzienlijk, afhankelijk van of u een vaste set parameters opgeeft of een parameteropruiming instelt.

Een regressiemodel voor kwantielen maken met vaste parameters

Ervan uitgaande dat u weet hoe u het model wilt configureren, kunt u een specifieke set waarden als argumenten verstrekken. Wanneer u het model traint, gebruikt u Model trainen.

  1. Voeg de Fast Forest Quantile Regression-module toe aan uw experiment in Studio (klassiek).

  2. Stel de optie Oefenmodus maken in op Enkele parameter.

  3. Bij Aantal bomen typt u het maximum aantal bomen dat in het ensemble kan worden gemaakt. Als u meer boomen maakt, leidt dit doorgaans tot een grotere nauwkeurigheid, maar dit gaat ten koste van een langere training.

  4. Bij Aantal bladeren typt u het maximum aantal bladeren of terminalknooppunten dat in elke structuur kan worden gemaakt.

  5. Geef voor Minimum aantal trainings-exemplaren dat is vereist om een bladblad te vormen het minimale aantal voorbeelden op dat nodig is om een terminal knooppunt (leaf) in een boomstructuur te maken.

    Door deze waarde te verhogen, verhoogt u de drempelwaarde voor het maken van nieuwe regels. Met de standaardwaarde 1 kan bijvoorbeeld zelfs één case ertoe leiden dat er een nieuwe regel wordt gemaakt. Als u de waarde verhoogt naar 5, moeten de trainingsgegevens ten minste 5 cases bevatten die aan dezelfde voorwaarden voldoen

  6. Geef voor Bagging fraction een getal tussen 0 en 1 op dat het gedeelte van de steekproeven vertegenwoordigt dat moet worden gebruikt bij het bouwen van elke groep kwantielen. Voorbeelden worden willekeurig gekozen, met vervanging.

  7. Bij Functie fraction typt u een getal tussen 0 en 1 dat het gedeelte van het totale aantal functies aangeeft dat moet worden gebruikt bij het bouwen van een bepaalde boomstructuur. Functies worden altijd willekeurig gekozen.

  8. Bij Split fraction typt u een getal tussen 0 en 1 dat het gedeelte van de functies vertegenwoordigt dat in elke splitsing van de structuur moet worden gebruikt. De gebruikte functies worden altijd willekeurig gekozen.

  9. Voor het aantal kwantielvoorbeelden typt u het aantal cases dat moet worden geëvalueerd bij het schatten van de kwantielen.

  10. Voor een schatting van kwantielen typt u een door komma's gescheiden lijst met de kwantielen waarvoor u wilt dat het model voorspellingen traint en maakt.

    Als u bijvoorbeeld een model wilt bouwen dat een schatting maakt voor kwartielen, typt u 0.25, 0.5, 0.75.

  11. Typ eventueel een waarde voor Seed met willekeurige getallen om de generator voor willekeurige getallen te seeden die door het model wordt gebruikt. De standaardwaarde is 0, wat betekent dat er een willekeurige seed wordt gekozen.

    Geef een waarde op als u resultaten moet reproduceren bij opeenvolgende runs op dezelfde gegevens.

  12. Selecteer de optie Onbekende categorische niveaus toestaan om een groep voor onbekende waarden te maken.

    Als u de selectie ervan ongedaan maakt, kan het model alleen de waarden accepteren die zijn opgenomen in de trainingsgegevens.

    Als u deze optie selecteert, is het model mogelijk minder nauwkeurig voor bekende waarden, maar kan het betere voorspellingen geven voor nieuwe (onbekende) waarden.

  13. Verbinding maken een trainingsset, selecteert u één labelkolom en verbindt u Train Model.

  14. Voer het experiment uit.

Een parametersleeg gebruiken om een kwantiel regressiemodel te maken

Als u niet zeker bent van de optimale parameters voor het model, kunt u een parameter-opsruiming configureren en een bereik van waarden opgeven als argumenten. Wanneer u het model traint, gebruikt u de module Tune Model Hyperparameters .

  1. Voeg de Fast Forest Quantile Regression-module toe aan uw experiment in Studio (klassiek).

  2. Stel de optie Oefenmodus maken in op Parameterbereik.

    Een parameter-opsruiming wordt aanbevolen als u niet zeker bent van de beste parameters. Door meerdere waarden op te geven en de module Tune Model Hyperparameters te gebruiken om het model te trainen, kunt u de optimale set parameters voor uw gegevens vinden.

    Nadat u een parameteropruiming hebt gekozen, kunt u voor elke in te stellen eigenschap één waarde of meerdere waarden instellen. U kunt bijvoorbeeld besluiten om het aantal structuur te herstellen, maar willekeurig andere waarden te wijzigen die bepalen hoe elke boomstructuur wordt gebouwd.

    • Als u één waarde typt, wordt die waarde gebruikt voor alle iteraties van de wisseling, zelfs als andere waarden veranderen.

    • Typ een door komma's gescheiden lijst met discrete waarden die u wilt gebruiken. Deze waarden worden gebruikt in combinatie met andere eigenschappen.

    • Gebruik De Range Builder om een bereik van doorlopende waarden te definiëren.

    Tijdens het trainingsproces doorloop de module Tune Model Hyperparameters verschillende combinaties van de waarden om het beste model te bouwen.

  3. Bij Maximum aantal bladeren per boomstructuur typt u het totale aantal bladeren of terminalknooppunten dat in elke structuur is toegestaan.

  4. Bij Aantal gebouwde boomen typt u het aantal iteraties dat moet worden uitgevoerd bij het maken van het ensemble. Door meer boomen te maken, kunt u mogelijk een betere dekking krijgen, ten koste van een hogere training.

  5. Geef voor Minimumaantal steekproef per leaf-knooppunt aan hoeveel cases er nodig zijn om een leaf-knooppunt te maken.

    Door deze waarde te verhogen, verhoogt u de drempelwaarde voor het maken van nieuwe regels. Met de standaardwaarde 1 kan bijvoorbeeld zelfs één case ertoe leiden dat er een nieuwe regel wordt gemaakt. Als u de waarde verhoogt naar 5, moeten de trainingsgegevens ten minste 5 cases bevatten die aan dezelfde voorwaarden voldoen.

  6. Typ in Bereik voor het inpakken van breuken de fractie van de steekproeven die moeten worden gebruikt bij het bouwen van elke groep kwantielen. Voorbeelden worden willekeurig gekozen, met vervanging.

    Elke breuk moet een getal tussen 0 en 1 zijn. Scheid meerdere breuken met behulp van komma's.

  7. In Bereik voor functie breuk, typt u het gedeelte van de totale functies te gebruiken bij het bouwen van elke groep kwantielen. Functies worden willekeurig gekozen.

    Elke breuk moet een getal tussen 0 en 1 zijn; meerdere breuken scheiden met behulp van komma's.

  8. Geef in Bereik voor gesplitste breuk een fractie van de kenmerken op die in elke groep kwantielen moeten worden gebruikt. De werkelijke functies die worden gebruikt, worden willekeurig gekozen.

    Elke breuk moet een getal tussen 0 en 1 zijn; meerdere breuken scheiden met behulp van komma's.

  9. Geef in Sample count used to estimate the quantiles (Aantal steekproeven dat wordt gebruikt om de kwantielen te schatten) aan hoeveel steekproeven moeten worden geëvalueerd bij het schatten van de kwantielen. Als u een getal typt dat groter is dan het aantal beschikbare voorbeelden, worden alle voorbeelden gebruikt.

  10. In Vereiste kwantielwaarden typt u een door komma's gescheiden lijst met de kwantielen waarop u het model wilt trainen. Als u bijvoorbeeld een model wilt bouwen dat kwartielen schat, typt u '0,25, 0,5, 0,75

  11. Typ in Seed met willekeurige getallen een waarde om de generator voor willekeurige getallen te seeden die door het model wordt gebruikt. Het gebruik van een seed is handig om dubbele runs te reproduceren.

    De standaardwaarde is 0, wat betekent dat er een willekeurige seed wordt gekozen.

  12. Selecteer de optie Onbekende waarden toestaan voor categorische functies om een groep te maken voor onbekende waarden in de trainings- of validatiesets.

    Als u deze optie deselecteert, kan het model alleen de waarden accepteren die zijn opgenomen in de trainingsgegevens.

    Als u deze optie selecteert, is het model mogelijk minder nauwkeurig voor bekende waarden, maar kunnen er betere voorspellingen worden gedaan voor nieuwe (onbekende) waarden.

  13. Verbinding maken een trainingsset, selecteert u de labelkolom en verbindt u de module Tune Model Hyperparameters.

    Notitie

    Gebruik geen trainmodel. Als u een parameterbereik configureert maar traint met Train Model, wordt alleen de eerste waarde in de lijst met parameterbereiken gebruikt.

  14. Voer het experiment uit.

Resultaten

Nadat de training is voltooid:

  • Als u de laatste hyperparameters van het geoptimaliseerde model wilt zien, klikt u met de rechtermuisknop op de uitvoer van Tune Model Hyperparameters en selecteert u Visualize.

Voorbeelden

Zie de volgende informatie voor voorbeelden van het gebruik van Azure AI Gallery:

  • Quantile Regression: demonstreert hoe u een kwantiel regressiemodel bouwt en interpreteert met behulp van de gegevensset voor automatische prijzen.

Technische opmerkingen

Deze sectie bevat implementatiedetails, tips en antwoorden op veelgestelde vragen.

Implementatiegegevens

De module Fast Forest Quantile Regression in Machine Learning is een implementatie van een regressie van willekeurig forestgewantiel met behulp van beslissings trees. Willekeurige forests kunnen handig zijn om overfitting te voorkomen die kan optreden met beslissingsboom. Een beslissingsstructuur is een binair stroomdiagram dat lijkt op een boomstructuur, waarbij bij elk binnenste knooppunt wordt beslist naar welke van de twee onderliggende knooppunten moet worden doorgestroomd, op basis van de waarde van een van de functies van de invoer.

In elk leaf-knooppunt wordt een waarde geretourneerd. In de binnenste knooppunten is de beslissing gebaseerd op de test ''x≤v', waarbij x de waarde is van de functie in het invoervoorbeeld en v een van de mogelijke waarden van deze functie is. De functies die door een regressiestructuur kunnen worden geproduceerd, zijn allemaal de constante functies die stuk voor stuk staan.

In een willekeurig forest wordt een geheel van boomen gemaakt met behulp van bagging om een subset van willekeurige steekproeven en kenmerken van de trainingsgegevens te selecteren en vervolgens een beslissingsstructuur aan elke subset van gegevens toe te passen. In tegenstelling tot het willekeurige forestalgoritme, dat het gemiddelde van de uitvoer van alle boomen berekent, behoudt Fast Forest Quantile Regression alle voorspelde labels in de door de parameter Quantile-steekproeftelling opgegeven labels en wordt de verdeling uitgevoerd, zodat de gebruiker de kwantielwaarden voor het opgegeven exemplaar kan bekijken.

Zie deze boeken en artikelen voor meer informatie over regressie van kwantielen:

Moduleparameters

Naam Type Bereik Optioneel Description Standaard
De modus voor het maken van een docent CreateLearnerMode List:Single Parameter| Parameterbereik Vereist Eén parameter Geavanceerde opties voor leren maken
Aantal bomen Geheel getal mode:Enkele parameter 100 Geef het aantal te bouwen boomen op
Aantal bladeren Geheel getal mode:Enkele parameter 20 Geef het maximum aantal bladeren per boomstructuur op. Het standaardnummer is 20
Minimaal aantal trainings-exemplaren dat is vereist om een bladblad te vormen Geheel getal mode:Enkele parameter 10 Geeft het minimum aantal trainings-exemplaren aan dat nodig is om een bladblad te vormen
Inzakings breuk Float mode:Enkele parameter 0,7 Hiermee geeft u de fractie trainingsgegevens op die voor elke boomstructuur moeten worden gebruikt
Functie breuk Float mode:Enkele parameter 0,7 Hiermee geeft u het gedeelte van de functies (willekeurig gekozen) voor elke boomstructuur te gebruiken
Breuk splitsen Float mode:Enkele parameter 0,7 Hiermee geeft u het gedeelte van de functies (willekeurig gekozen) voor elke splitsing te gebruiken
Aantal kwantielvoorbeelden Geheel getal Maximum: 2147483647 mode:Enkele parameter 100 Hiermee geeft u het aantal exemplaren op dat in elk knooppunt wordt gebruikt om kwantielen te schatten
Te schatten kwantielen Tekenreeks mode:Enkele parameter "0.25;0.5;0.75" Hiermee geeft u het kwantiel op dat moet worden geschat
Seed van willekeurig getal Geheel getal Optioneel Geef een seed op voor de generator voor willekeurige getallen die door het model wordt gebruikt. Laat de standaardwaarde leeg.
Onbekende categorische niveaus toestaan Booleaans Vereist true Indien waar, maakt u een extra niveau voor elke categorische kolom. Niveaus in de testset die niet beschikbaar zijn in de trainingsset worden toegewezen aan dit extra niveau.
Maximumaantal bladeren per boomstructuur ParameterRangeSettings [16;128] mode:Parameterbereik 16; 32; 64 Bereik opgeven voor het maximum aantal toegestane bladeren per boomstructuur
Aantal gebouwde boomen ParameterRangeSettings [1;256] mode:Parameterbereik 16; 32; 64 Geef het bereik op voor het maximum aantal bomen dat tijdens de training kan worden gemaakt
Minimum aantal steekproeven per leaf-knooppunt ParameterRangeSettings [1;10] mode:Parameterbereik 1; 5; 10 Geef het bereik op voor het minimale aantal cases dat is vereist om een bladblad te vormen
Bereik voor het inpakken van breuken ParameterRangeSettings [0.25;1.0] mode:Parameterbereik 0.25; 0.5; 0.75 Hiermee geeft u het bereik op voor de fractie van de trainingsgegevens die moeten worden gebruikt voor elke boomstructuur
Bereik voor functie breuk ParameterRangeSettings [0.25;1.0] mode:Parameterbereik 0.25; 0.5; 0.75 Hiermee geeft u het bereik op voor de fractie van functies (willekeurig gekozen) die voor elke boomstructuur moeten worden gebruikt
Bereik voor gesplitste breuk ParameterRangeSettings [0.25;1.0] mode:Parameterbereik 0.25; 0.5; 0.75 Hiermee geeft u het bereik op voor de fractie van functies (willekeurig gekozen) die voor elke splitsing moeten worden gebruikt
Sample count used to estimate the quantiles (Aantal steekproef gebruikt om de kwantielen te schatten) Geheel getal mode:Parameterbereik 100 Sample count used to estimate the quantiles (Aantal steekproef gebruikt om de kwantielen te schatten)
Vereiste kwantielwaarden Tekenreeks mode:Parameterbereik "0.25;0.5;0.75" Vereiste kwantielwaarde die wordt gebruikt tijdens parameter-opsruiming

Uitvoerwaarden

Naam Type Description
Niet-getraind model ILearner-interface Een ongetraind regressiemodel met een kwantiel dat kan worden verbonden met de modules Algemeen model trainen of Model kruisvalideren.

Zie ook

Regressie