Two-Class Boosted Decision Tree

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 binaire classificatie met behulp van een boosted beslissingsstructuuralgoritme

Categorie: Machine Learning/Model/classificatie initialiseren

Notitie

Van toepassing op: Machine Learning Studio (klassiek)

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

Moduleoverzicht

In dit artikel wordt beschreven hoe u de module Two-Class Boosted Decision Tree in Machine Learning Studio (klassiek) gebruikt om een machine learning-model te maken dat is gebaseerd op het boosted decision trees-algoritme.

Een boosted decision tree is een ensemble learning-methode waarin de tweede boom de fouten van de eerste boomstructuur corrigeert, de derde boom corrigeert op fouten van de eerste en tweede boomstructuur, enzovoort. Voorspellingen zijn gebaseerd op het hele samengekapte geheel van boomen dat de voorspelling doet. Zie de sectie Onderzoek van dit artikel voor meer technische informatie.

Over het algemeen zijn boosted decision trees, wanneer ze goed zijn geconfigureerd, de eenvoudigste methoden om de beste prestaties te krijgen voor een groot aantal machine learning taken. Ze zijn echter ook een van de meer geheugenintensieve studenten en de huidige implementatie bevat alles in het geheugen. Daarom kan een boosted decision tree-model mogelijk niet de zeer grote gegevenssets verwerken die sommige lineaire leerders kunnen verwerken.

Een boosted decision tree Two-Class configureren

In deze module wordt een ongetraind classificatiemodel gemaakt. Omdat classificatie een leermethode onder supervisie is, hebt u voor het trainen van het model een gelabelde gegevensset nodig die een labelkolom met een waarde voor alle rijen bevat.

U kunt dit type model trainen met behulp van de modules Train Model of Tune Model Hyperparameters .

  1. Voeg in Machine Learning Studio (klassiek) de module Boosted Decision Tree toe aan uw experiment.

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

    • Eén parameter: als u weet hoe u het model wilt configureren, kunt u een specifieke set waarden opgeven als argumenten.

    • Parameterbereik: als u niet zeker bent van de beste parameters, kunt u de optimale parameters vinden met behulp van de module Tune Model Hyperparameters . U geeft een aantal waarden op en de docent doorsteert meerdere combinaties van de instellingen om de combinatie van waarden te bepalen die het beste resultaat oplevert.

  3. Geef voor Maximum aantal bladeren per boomstructuur het maximum aantal terminalknooppunten (bladeren) aan dat in een structuur kan worden gemaakt.

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

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

  5. Voor Learning snelheid typt u 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 grootte van de stap te groot is, is het mogelijk dat u de optimale oplossing overschr. Als de stap te klein is, duurt het trainen langer om te convergeren op de beste oplossing.

  6. Geef bij Aantal gebouwde boomen 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 de trainingstijd neemt toe.

    Deze waarde bepaalt ook het aantal bomen dat wordt weergegeven bij het visualiseren van het getrainde model. Als u één boomstructuur wilt zien of afdrukken, stelt u de waarde in op 1. Als u dit doet, wordt er echter slechts één structuur geproduceerd (de structuur met de eerste set parameters) en worden er geen verdere iteraties uitgevoerd.

  7. Voor Seed met willekeurige getallen typt u desgewenst een niet-negatief geheel getal dat u wilt gebruiken als de willekeurige seed-waarde. Het opgeven van een seed zorgt voor reproduceerbaarheid tussen runs die dezelfde gegevens en parameters hebben.

    De willekeurige seed is standaard ingesteld op 0, wat betekent dat de eerste seed-waarde wordt verkregen van de systeemklok. Opeenvolgende runs met behulp van een willekeurige seed kunnen verschillende resultaten hebben.

  8. Selecteer de optie Onbekende categorische niveaus toestaan om een groep te maken voor onbekende waarden in de trainings- en validatiesets.

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

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

  9. Train het model.

    • Als u de modus Create train mode instelt op Single Parameter, verbindt u een gelabelde gegevensset en de module Train Model .

    • Als u de modus Trainer maken in stelt op Parameterbereik, verbindt u een getagde gegevensset en traint u het model met behulp van Tune Model Hyperparameters.

    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 gebruikt wanneer er een bereik met instellingen voor elke parameter wordt verwacht.

    Als u de optie Parameterbereik selecteert en één waarde voor een parameter ingeeft, wordt die ene waarde die u hebt opgegeven, overal in het bereik gebruikt, zelfs als andere parameters worden gewijzigd binnen een bereik van waarden.

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.

Voorbeelden

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

  • Directe marketing: Maakt gebruik van het algoritme Two-Class Boosted Decision Tree om de app-heid van klanten te voorspellen.

  • Voorspelling van vluchtvertraging: In dit voorbeeld wordt het algoritme Two-Class Boosted Decision Tree gebruikt om te bepalen of een vlucht waarschijnlijk vertraging heeft.

  • Creditcardrisico: In dit voorbeeld wordt het algoritme Two-Class Boosted Decision Tree gebruikt om risico's te voorspellen.

Technische opmerkingen

Deze sectie bevat implementatiedetails en veelgestelde vragen.

Gebruikstips

  • Als u een boosted beslissingsstructuurmodel wilt trainen, moet u meerdere gegevens instances leveren. Er wordt een fout gegenereerd tijdens het trainingsproces als de gegevensset te weinig rijen bevat.

  • Als uw gegevens ontbrekende waarden bevatten, moet u indicatoren voor de functies toevoegen.

  • Over het algemeen leveren boosted decision 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. Als dit niet het geval is, kunt u een model voor willekeurige forests proberen.

    Boosting werkt ook goed wanneer u veel meer voorbeelden dan functies hebt, omdat het model gevoelig is voor overfitting.

  • Normaliseer de gegevensset niet. Omdat de behandeling van kenmerken een eenvoudige, niet-parametrische, kleiner dan of groter dan vergelijking is, kan normalisatie of een vorm van niet-monotone transformatiefunctie weinig effect hebben.

  • Functies worden vóór de training gediscretiseerd en binned, dus er wordt slechts een relatief kleine set drempelwaarden in aanmerking genomen, zelfs voor doorlopende functies.

Implementatiegegevens

Zie Voor gedetailleerde informatie over het boosted decision tree-algoritme gaat u naar Approximationy Function Approximation: A Gradient Boosting Machines .a.s.

Het boosted decision tree-algoritme in Machine Learning maakt gebruik van de volgende boosting-methode:

  1. Begin met een leeg geheel van zwakke studenten.

  2. Haal voor elk trainingsvoorbeeld de huidige uitvoer van het ensemble op. Dit is de som van de uitvoer van alle zwakke studenten in het ensemble.

  3. Bereken de kleurovergang van de verliesfunctie voor elk voorbeeld.

    Dit is afhankelijk van of de taak een binair classificatieprobleem of een regressieprobleem is.

    • In een binair classificatiemodel wordt logboekverlies gebruikt, net als bij logistieke regressie.

    • In een regressiemodel wordt het kwadraatverlies gebruikt en is de kleurovergang de huidige uitvoer, minus het doel).

  4. Gebruik de voorbeelden voor een zwakke gebruiker, met behulp van de kleurovergang die zojuist is gedefinieerd als de doelfunctie.

  5. Voeg die zwakke learner toe aan het ensemble met een sterkte die wordt aangegeven door de leersnelheid. Ga indien gewenst naar Stap 2.

    In deze implementatie zijn de zwakke leerders de minst kwadraat-regressieboom, op basis van de kleurovergangen die in stap 3 zijn berekend. De bomen zijn onderworpen aan de volgende beperkingen:

    • Ze worden getraind tot een maximum aantal bladeren.

    • Elk bladblad heeft een minimum aantal voorbeelden om te beschermen tegen overfitting.

    • Elk beslissings knooppunt is één functie die wordt vergeleken met een bepaalde drempelwaarde. Als deze functie kleiner is dan of gelijk is aan de drempelwaarde, gaat deze het ene pad omlaag en als deze hoger is dan de drempelwaarde, wordt het andere pad lager.

    • Elk leaf-knooppunt is een constante waarde.

  6. Het algoritme voor structuurbouwen selecteert de functie en drempelwaarde waarvoor een splitsing het kwadraatverlies minimaliseert met betrekking tot de kleurovergang die in stap 3 is berekend. De selectie van de splitsing is onderhevig aan een minimum aantal trainingsvoorbeelden per leaf.

    Het algoritme wordt herhaaldelijk gesplitst totdat het maximum aantal bladeren wordt bereikt of totdat er geen geldige splitsing beschikbaar is.

Moduleparameters

Name Bereik Type Standaard Beschrijving
Maximumaantal bladeren per boomstructuur >= 1 Geheel getal 20 Geef het maximum aantal toegestane 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 bladblad te vormen
Leersnelheid [dubbel. Epsilon;1.0] Float 0,2 De initiële leersnelheid opgeven
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 Typ een waarde om de generator voor willekeurige getallen te seeden die door het model wordt gebruikt. Laat deze leeg voor de standaardinstelling.
Onbekende categorische niveaus toestaan Alle Boolean-waarde True Als de optie Waar is, wordt er een extra niveau gemaakt voor elke categorische kolom. Alle niveaus in de testset die niet beschikbaar zijn in de trainingsset, worden toegewezen aan dit extra niveau.

Uitvoer

Naam Type Description
Niet-getraind model ILearner-interface Een ongetraind binair classificatiemodel

Zie ook

Classificatie
Regressie versterkte beslissingsstructuur
Lijst met A-Z-modules