Beslissingsforest met twee klassen

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 classificatiemodel met twee klassen met behulp van het beslissings-forestalgoritme

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 Decision Forest in Machine Learning Studio (klassiek) gebruikt om een machine learning-model te maken op basis van het algoritme voor beslissings forests.

Beslissings forests zijn snelle ensemblemodellen onder supervisie. Deze module is een goede keuze als u een doel met maximaal twee resultaten wilt voorspellen. Als u niet zeker weet hoe u een beslissingsstructuurmodel configureert voor de beste resultaten, raden we u aan de module Tune Model Hyperparameters te gebruiken om meerdere modellen te trainen en te testen. Het afstemmen van itereert meerdere mogelijkheden en vindt de optimale oplossing voor u.

Informatie over beslissings forests

Dit beslissings-forestalgoritme is een ensemble learning-methode die is bedoeld voor classificatietaken. Ensemblemethoden zijn gebaseerd op het algemene principe dat u, in plaats van te vertrouwen op één model, betere resultaten en een gemeenschappelijker model kunt krijgen door meerdere gerelateerde modellen te maken en deze op een of andere manier te combineren. Over het algemeen bieden ensemblemodellen een betere dekking en nauwkeurigheid dan enkelvoudige beslissingsgroepen.

Er zijn veel manieren om afzonderlijke modellen te maken en deze te combineren in een ensemble. Deze specifieke implementatie van een beslissings forest werkt door het bouwen van meerdere beslissings trees en vervolgens stemmen op de populairste uitvoerklasse. Stemmen is een van de bekender methoden voor het genereren van resultaten in een ensemblemodel.

  • Er worden veel afzonderlijke classificaties gemaakt met behulp van de volledige gegevensset, maar verschillende (meestal willekeurig) beginpunten. Dit wijkt af van de benadering van een willekeurig forest, waarbij de afzonderlijke beslissingss trees mogelijk alleen een willekeurig deel van de gegevens of functies gebruiken.
  • Elke boomstructuur in de beslissings foreststructuur geeft een niet-genormaliseerd frequentie histogram met labels weer.
  • Het aggregatieproces somt deze histogrammen op en normaliseert het resultaat om de 'waarschijnlijkheden' voor elk label te krijgen.
  • De bomen met een hoog voorspellingsvertrouwen hebben een groter gewicht in de uiteindelijke beslissing van het ensemble.

Beslissings trees in het algemeen hebben veel voordelen voor classificatietaken:

  • Ze kunnen niet-lineaire beslissingsgrenzen vastleggen.
  • U kunt veel gegevens trainen en voorspellen, omdat ze efficiënt zijn in reken- en geheugengebruik.
  • Functieselectie is geïntegreerd in de trainings- en classificatieprocessen.
  • Bomen kunnen gegevens met ruis en veel functies bevatten.
  • Het zijn niet-parametrische modellen, wat betekent dat ze gegevens met verschillende distributies kunnen verwerken.

Eenvoudige beslissingsstructuur kan echter overfitten op gegevens en zijn minder generalizeerbaar dan structuursembles.

Zie Beslissings forests of de andere documenten die worden vermeld in de sectie Technische notities voor meer informatie.

Een beslissings forest Two-Class configureren

  1. Voeg de module Two-Class Decision Forest toe aan uw experiment in Machine Learning Studio (klassiek) en open het deelvenster Eigenschappen van de module.

    U vindt de module onder Machine Learning. Vouw Initialiseren uit en vervolgens Classificatie.

  2. Kies voor methode Resampling de methode die wordt gebruikt om de afzonderlijke boomen te maken. U kunt kiezen uit Inpakken of Repliceren.

    • Bagging: Inpakken wordt ook wel bootstrapaggregatie genoemd. In deze methode wordt elke boomstructuur ontwikkeld op basis van een nieuwe steekproef, gemaakt door de oorspronkelijke gegevensset willekeurig te nemen met vervanging totdat u een gegevensset hebt met de grootte van het origineel.

      De uitvoer van de modellen wordt gecombineerd door te stemmen. Dit is een vorm van aggregatie. Elke boomstructuur in een classificatiebeslissings-forest geeft een histogram met labels met een niet-genormaliseerde frequentie als uitvoer. De aggregatie is om deze histogrammen op te sommen en te normaliseren om de 'waarschijnlijkheden' voor elk label te krijgen. Op deze manier hebben de bomen met een hoog voorspellingsvertrouwen een groter gewicht in de uiteindelijke beslissing van het ensemble.

      Zie de Wikipedia-vermelding voor Bootstrap aggregeren voor meer informatie.

    • Repliceren: Bij replicatie wordt elke structuur getraind op exact dezelfde invoergegevens. Het bepalen van welk splitsingspredicaat wordt gebruikt voor elk structuur-knooppunt blijft willekeurig en de structuur zal divers zijn.

      Zie de documenten in de sectie Technische notities voor meer informatie over het trainingsproces met de optie Repliceren.

  3. 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 door meerdere waarden op te geven en de module Tune Model Hyperparameters te gebruiken om de optimale configuratie te vinden. De docent doorsteert meerdere combinaties van de instellingen die u hebt opgegeven en bepaalt de combinatie van waarden die het beste model produceren.

  4. Bij Aantal beslissingsgroepen typt u het maximum aantal beslissingsgroepen dat in het ensemble kan worden gemaakt. Door meer beslissingsbereiken te maken, kunt u mogelijk een betere dekking krijgen, maar neemt de trainingstijd toe.

    Notitie

    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, kunt u de waarde instellen op 1. Er kan echter slechts één boomstructuur worden geproduceerd (de structuur met de eerste set parameters) en er worden geen verdere iteraties uitgevoerd.

  5. Voor Maximale diepte van de beslissingsstructuur typt u een getal om de maximale diepte van een beslissingsstructuur te beperken. Het vergroten van de diepte van de structuur kan de precisie verhogen, met het risico op overfitting en een verhoogde trainingtijd.

  6. Bij Aantal willekeurige splitsingen per knooppunt typt u het aantal splitsingen dat moet worden gebruikt bij het bouwen van elk knooppunt van de structuur. Een splitsing betekent dat functies in elk niveau van de structuur (knooppunt) willekeurig worden verdeeld.

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

  8. Selecteer de optie Onbekende waarden toestaan voor categorische functies om een groep te maken voor onbekende waarden in de trainings- of validatiesets. Het model is mogelijk minder nauwkeurig voor bekende waarden, maar het kan betere voorspellingen geven voor nieuwe (onbekende) waarden.

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

  9. Voeg een gelabelde gegevensset en een van de trainingsmodules toe:

    Notitie

    Als u een parameterbereik doorgeeft aan Train Model, wordt alleen de eerste waarde in de lijst parameterbereik 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 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 een momentopname van het model wilt opslaan, klikt u met de rechtermuisknop op de uitvoer van het getrainde model en selecteert u Model opslaan. Het opgeslagen model wordt niet bijgewerkt bij opeenvolgende uitvoeringen van het experiment.

  • Als u het model wilt gebruiken om te scoren, voegt u de module Score Model toe aan een experiment.

Voorbeelden

Voor voorbeelden van hoe beslissings forests worden gebruikt in machine learning, zie de voorbeeldexperimenten in de Azure AI Gallery:

  • Nieuwscategorisatie: vergelijkt een classificatie met meerdere klassen met een model dat is gebouwd met behulp van het algoritme Two-Class Decision Forest met de One-vs-All Multiclass.

  • Voorspellend onderhoud: Een uitgebreide walkthrough die gebruikmaakt van het algoritme Beslissings forest met twee klassen om te voorspellen of een asset binnen een bepaald tijdsbestek zal mislukken.

Technische opmerkingen

Deze sectie bevat aanvullende implementatiedetails, onderzoek en veelgestelde vragen.

Gebruikstips

Als u beperkte gegevens hebt of als u de tijd die nodig is om het model te trainen wilt minimaliseren, probeert u de volgende instellingen:

Beperkte trainingsset

Als de trainingsset een beperkt aantal exemplaren bevat:

  • Maak het beslissings forest met behulp van een groot aantal beslissingsboomsoorten (bijvoorbeeld meer dan 20).
  • Gebruik de optie Bagging om opnieuw een steekproef te nemen.
  • Geef een groot aantal willekeurige splitsingen per knooppunt op (bijvoorbeeld meer dan 1000).

Beperkte trainingtijd

Als de trainingsset een groot aantal instanties bevat en de training tijd beperkt is:

  • Maak het beslissings forest door minder beslissingsboom te gebruiken (bijvoorbeeld 5-10).
  • Gebruik de optie Repliceren om opnieuw een steekproef te maken.
  • Geef een kleiner aantal willekeurige splitsingen per knooppunt op (bijvoorbeeld minder dan 100).

Implementatiegegevens

Dit artikel van Microsoft Research bevat nuttige informatie over ensemblemethoden die gebruikmaken van beslissingsgroepen. Van Leider tot Boomen naar Forests.

Zie Decision Forests for Computer Vision and Medical Image Analysis (Beslissings forests voor replicatie en analyse van medische afbeeldingen) voor meer informatie over het trainingsproces met de optie Repliceren. Criminisi en J. Shotton. Springer 2013.

Moduleparameters

Name Bereik Type Standaard Beschrijving
Methode Resampling Alle ResamplingMethod Zakken Een hersampling-methode kiezen
Aantal beslissingssytemen >= 1 Geheel getal 8 Geef het aantal beslissingsgroepen op dat in het ensemble moet worden gemaakt
Maximale diepte van de beslissingsstramen >= 1 Geheel getal 32 Geef de maximale diepte op van elke beslissingsstructuur die kan worden gemaakt
Aantal willekeurige splitsingen per knooppunt >= 1 Geheel getal 128 Geef het aantal splitsingen op dat per knooppunt wordt gegenereerd, van waaruit de optimale splitsing wordt geselecteerd
Minimum aantal steekproeven per leaf-knooppunt >= 1 Geheel getal 1 Geef het minimale aantal trainingsvoorbeelden op dat nodig is om een leaf-knooppunt te produceren
Onbekende waarden voor categorische functies toestaan Alle Boolean-waarde True Aangeven of onbekende waarden van bestaande categorische functies kunnen worden toegevoegd aan een nieuwe, aanvullende functie

Uitvoer

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

Zie ook

Classificatie
Regressie beslissingsforest
Beslissingsforest met meerdere klassen
Lijst met A-Z-modules