Delen via


Regressie versterkte beslissingsstructuur

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 met behulp van het algoritme Boosted Decision Tree

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 Boosted Decision Tree Regression in Machine Learning Studio (klassiek) gebruikt om een geheel regressiestructuur te maken met behulp van boosting. Boosting betekent dat elke boomstructuur afhankelijk is van eerdere structuur. Het algoritme leert door het residu van de daarvoor voorafgaande boom te passen. Het stimuleren van een beslissingsstructuur-ensemble verbetert daarom de nauwkeurigheid met een klein risico op minder dekking.

Deze regressiemethode is een leermethode onder supervisie en vereist daarom een gelabelde gegevensset. De labelkolom moet numerieke waarden bevatten.

Notitie

Gebruik deze module alleen met gegevenssets die gebruikmaken van numerieke variabelen.

Nadat u het model hebt gedefinieerd, traint u het met behulp van de hyperparameters-modules Model trainen of Model afstemmen.

Tip

Wilt u meer weten over de bomen die zijn gemaakt? Nadat het model is getraind, klikt u met de rechtermuisknop op de uitvoer van de module Train Model (of de module Tune Model Hyperparameters ) en selecteert u Visualize om de structuur te zien die bij elke iteratie is gemaakt. U kunt inzoomen op de splitsingen voor elke structuur en de regels voor elk knooppunt bekijken.

Meer informatie over boosted regression trees

Boosting is een van de klassieke methoden voor het maken van ensemblemodellen, samen met bagging, willekeurige forests, enzovoort. In Machine Learning Studio (klassiek) maken boosted decision trees gebruik van een efficiënte implementatie van het ALGORITME voor het verbeteren van DEMAR-kleurovergangen. Gradient Boosting is een machine learning techniek voor regressieproblemen. Elke regressiestructuur wordt stap voor stap opgebouwd met behulp van een vooraf gedefinieerde verliesfunctie om de fout in elke stap te meten en deze in de volgende stap te corrigeren. Het voorspellingsmodel is dus eigenlijk een geheel van zwakkere voorspellingsmodellen.

Bij regressieproblemen bouwt een boosting stapsgewijs een reeks structuur en selecteert vervolgens de optimale structuur met behulp van een willekeurige differentieerbare verliesfunctie.

Zie de volgende artikelen voor meer informatie:

De gradient boosting-methode kan ook worden gebruikt voor classificatieproblemen door deze te verminderen tot regressie met een geschikte verliesfunctie. Zie Two-Class Boosted Decision Tree voor meer informatie over de implementatie van boosted trees voor classificatietaken.

Boosted Decision Tree Regression configureren

  1. Voeg de module Boosted Decision Tree toe aan uw experiment. U vindt deze module onder Machine Learning, Initialiseren, onder de categorie Regressie.

  2. Geef op hoe u het model wilt trainen door de optie Trainer-modus maken in te stellen.

    • Enkele parameter: selecteer deze optie als u weet hoe u het model wilt configureren en geef een specifieke set waarden op als argumenten.

    • Parameterbereik: selecteer deze optie als u niet zeker bent van de beste parameters en een parameter-opruiming wilt uitvoeren. Selecteer een bereik van waarden om te itereren en de Tune Model Hyperparameters doorloop alle mogelijke combinaties van de instellingen die u hebt opgegeven om te bepalen welke hyperparameters de optimale resultaten opleveren.

  3. Maximumaantal bladeren per boomstructuur: hiermee geeft u het maximum aantal terminalknooppunten (bladeren) aan dat in elke structuur kan worden gemaakt.

    Door deze waarde te verhogen, vergroot u mogelijk de grootte van de boomstructuur en krijgt u een betere precisie, met het risico van overfitting en langere trainingstijd.

  4. Minimum aantal steekproeven per leaf-knooppunt: hiermee geeft u het minimale aantal cases aan 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.

  5. Learning snelheid: Typ een getal tussen 0 en 1 dat de stapgrootte definieert tijdens het leren. De leersnelheid bepaalt hoe snel of traag de learner convergeert op de optimale oplossing. Als de stapgrootte te groot is, is de optimale oplossing mogelijk te groot. Als de stap te klein is, duurt het trainen langer om te convergeren op de beste oplossing.

  6. Aantal gebouwde boomen: geef het totale aantal beslissingsgroepen aan dat in het ensemble moet worden gemaakt. Door meer beslissingsbereiken te maken, kunt u mogelijk een betere dekking krijgen, maar neemt de trainingstijd toe.

    Deze waarde bepaalt ook het aantal bomen dat wordt weergegeven bij het visualiseren van het getrainde model. Als u een ingle-structuur wilt zien of afdrukken, kunt u de waarde instellen op 1; Dit betekent echter dat er slechts één structuur wordt geproduceerd (de structuur met de eerste set parameters) en dat er geen verdere iteraties worden uitgevoerd.

  7. Seed voor willekeurige getallen: typ een optioneel niet-negatief geheel getal dat moet worden gebruikt als de willekeurige seed-waarde. Het opgeven van een seed zorgt voor reproduceerbaarheid tussen runs die dezelfde gegevens en parameters hebben.

    Standaard is de willekeurige seed ingesteld op 0, wat betekent dat de eerste seed-waarde wordt verkregen van de systeemklok.

  8. Onbekende categorische niveaus toestaan: selecteer deze optie om een groep te maken voor onbekende waarden in de trainings- en validatiesets. Als u deze optie uitselecteert, kan het model alleen de waarden accepteren die zijn opgenomen in de trainingsgegevens. Het model is mogelijk minder nauwkeurig voor bekende waarden, maar kan betere voorspellingen geven voor nieuwe (onbekende) waarden.

  9. Voeg een trainingsset en een van de trainingsmodules toe:

    Notitie

    Als u een parameterbereik doorgeeft aan Train Model, wordt alleen de eerste waarde in de lijst met parameterbereiken gebruikt.

    Als u één set parameterwaarden doorgeeft aan de module Tune Model Hyperparameters , worden de waarden genegeerd en worden de standaardwaarden voor de learner genegeerd wanneer er een bereik van instellingen voor elke parameter wordt verwacht.

    Als u de optie Parameterbereik selecteert en één waarde voor een parameter ingeeft, wordt die ene waarde gedurende de hele wisseling gebruikt, zelfs als andere parameters binnen een bereik van waarden veranderen.

  10. Voer het experiment uit.

Resultaten

Nadat de training is voltooid:

  • Als u de structuur wilt zien die bij elke iteratie is gemaakt, klikt u met de rechtermuisknop op De module Model trainen en selecteert u Getraind model om te visualiseren. Als u Tune Model Hyperparameters gebruikt, klikt u met de rechtermuisknop op de module en selecteert u Getraind beste model om het beste model te visualiseren.

    Klik op elke structuur om in te zoomen op de splitsingen en bekijk de regels voor elk knooppunt.

  • Als u het model wilt gebruiken om te scoren, verbindt u het met Score Model om waarden voor nieuwe invoervoorbeelden te voorspellen.

  • Als u een momentopname van het getrainde model wilt opslaan, klikt u met de rechtermuisknop op de uitvoer van het getrainde model van de trainingsmodule en selecteert u Opslaan als. De kopie van het getrainde model dat u op wilt slaan, wordt niet bijgewerkt bij opeenvolgende uitvoeringen van het experiment.

Voorbeelden

Voor voorbeelden van hoe boosted trees worden gebruikt in machine learning, zie de Azure AI Gallery:

  • Schatting van de vraag: Maakt gebruik van Boosted Decision Tree Regression om het aantal verhuur voor een bepaalde periode te voorspellen.

  • Twitter-sentimentanalyse: maakt gebruik van regressie om een voorspelde waardering te genereren.

Technische opmerkingen

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

Tip

Over het algemeen leveren beslissings trees betere resultaten op wanneer functies enigszins gerelateerd zijn. Als kenmerken een grote mate van entropie hebben (dat wil zeggen, ze zijn niet gerelateerd), delen ze weinig of geen wederzijdse informatie en het orden ervan in een structuur levert niet veel voorspellende significantie op.

Implementatiegegevens

Het geheel van structuur wordt geproduceerd door bij elke stap een regressiestructuur te berekenen die de gradiënt van de verliesfunctie benadert en deze aan de vorige structuur toevoegt met coëfficiënten die het verlies van de nieuwe structuur minimaliseren. De uitvoer van het ensemble dat door MART wordt geproduceerd op een bepaald exemplaar is de som van de structuuruitvoer.

  • Voor een binair classificatieprobleem wordt de uitvoer geconverteerd naar waarschijnlijkheid door gebruik te maken van een vorm van kalibratie.

  • Bij regressieproblemen is de uitvoer de voorspelde waarde van de functie.

  • Voor rangschikkingsproblemen worden de exemplaren geordend op de uitvoerwaarde van het ensemble.

Moduleparameters

Name Bereik Type Standaard Beschrijving
Maximumaantal bladeren per boomstructuur >= 1 Geheel getal 20 Geef het maximum aantal bladeren per boomstructuur op
Minimum aantal steekproeven per leaf-knooppunt >= 1 Geheel getal 10 Geef het minimale aantal cases op dat nodig is om een leaf-knooppunt te vormen
Leersnelheid [dubbel. Epsilon;1.0] Float 0,2 De initiële leersnelheid opgeven
Totaal aantal gebouwde boomen >= 1 Geheel getal 100 Geef het maximum aantal boomen op dat tijdens de training kan worden gemaakt
Seed van willekeurig getal alle Geheel getal Geef een seed op voor de generator voor willekeurige getallen die door het model wordt gebruikt. Laat de standaardwaarde leeg.
Onbekende categorische niveaus toestaan alle Booleaans 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.

Uitvoerwaarden

Naam Type Description
Niet-getraind model ILearner-interface Een ongetraind regressiemodel

Zie ook

Lijst met A-Z-modules
Regressie