Two-Class Decision Forest-onderdeel

In dit artikel wordt een onderdeel in azure Machine Learning Designer beschreven.

Gebruik dit onderdeel om een machine learning-model te maken op basis van het algoritme voor beslissingsforests.

Beslissingsforests zijn snelle ensemblemodellen onder supervisie. Dit onderdeel is een goede keuze als u een doel wilt voorspellen met maximaal twee resultaten.

Inzicht in beslissingsforests

Dit beslissingsforest-algoritme is een ensembleleermethode 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 meer gegeneraliseerd model kunt krijgen door meerdere gerelateerde modellen te maken en deze op de een of andere manier te combineren. Over het algemeen bieden ensemblemodellen betere dekking en nauwkeurigheid dan enkele beslissingsstructuren.

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

  • Veel afzonderlijke classificatiestructuren worden gemaakt met behulp van de volledige gegevensset, maar verschillende (meestal gerandomiseerde) uitgangspunten. Dit verschilt van de benadering van willekeurige forests, waarbij de afzonderlijke beslissingsstructuren mogelijk slechts een willekeurig deel van de gegevens of functies gebruiken.
  • Elke structuur in de beslissingsforeststructuur voert een niet-genormaliseerd frequentie histogram van labels uit.
  • Het aggregatieproces telt deze histogrammen op en normaliseert het resultaat om de 'waarschijnlijkheden' voor elk label te verkrijgen.
  • De bomen met een hoge voorspellingsvertrouwen hebben een groter gewicht in de uiteindelijke beslissing van het ensemble.

Beslissingsstructuren hebben over het algemeen veel voordelen voor classificatietaken:

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

Eenvoudige beslissingsstructuren kunnen echter overfit voor gegevens zijn en zijn minder generaliseerbaar dan boomensembles.

Zie Beslissingsforests voor meer informatie.

Configureren

  1. Voeg het onderdeel Beslissingsforest met twee klassen toe aan uw pijplijn in Azure Machine Learning en open het deelvenster Eigenschappen van het onderdeel.

    U vindt het onderdeel onder Machine Learning. Vouw Initialiseren uit en vervolgens Classificatie.

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

    • Bagging: Bagging wordt ook wel bootstrapaggregating genoemd. In deze methode wordt elke boomstructuur gekweekt op basis van een nieuw voorbeeld, dat wordt gemaakt door willekeurige steekproeven uit te voeren op de oorspronkelijke gegevensset met vervanging totdat u een gegevensset ter grootte van de oorspronkelijke gegevensset hebt.

      De uitvoer van de modellen wordt gecombineerd door te stemmen. Dit is een vorm van aggregatie. Elke structuur in een forest met classificatiebeslissingen voert een niet-genormaliseerd frequentie histogram van labels uit. De aggregatie bestaat uit het optellen van deze histogrammen en normaliseren om de 'waarschijnlijkheden' voor elk label te verkrijgen. Op deze manier zullen de bomen met een hoge voorspellingsvertrouwen een groter gewicht hebben in de uiteindelijke beslissing van het ensemble.

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

    • Repliceren: Bij replicatie wordt elke structuur getraind op exact dezelfde invoergegevens. De bepaling van welk gesplitst predicaat wordt gebruikt voor elk boomknooppunt blijft willekeurig en de bomen zullen divers zijn.

  3. Geef op hoe u het model wilt trainen door de optie Trainermodus maken in te stellen.

    • Enkele 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 het onderdeel Model hyperparameters afstemmen . U geeft een bepaald bereik van waarden op en de trainer herhaalt meerdere combinaties van de instellingen om de combinatie van waarden te bepalen die het beste resultaat oplevert.

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

    Notitie

    Als u de waarde instelt op 1. Er kan echter slechts één structuur worden geproduceerd (de structuur met de eerste set parameters) en er worden geen verdere iteraties uitgevoerd.

  5. Voor Maximale diepte van de beslissingsstructuren typt u een getal om de maximale diepte van een beslissingsstructuur te beperken. Het vergroten van de diepte van de boomstructuur kan de nauwkeurigheid verhogen, met het risico op enige overfitting en langere trainingstijd.

  6. Geef voor Minimaal aantal steekproeven per bladknooppunt het minimale aantal gevallen aan dat nodig is om een terminalknooppunt (blad) in een structuur te maken.

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

  7. 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 bieden voor nieuwe (onbekende) waarden.

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

  8. Voeg een gelabelde gegevensset toe en train het model:

    • Als u de modus Trainer maken instelt op Enkele parameter, verbindt u een getagde gegevensset en het onderdeel Train Model .

    • Als u de modus Trainer maken instelt op Parameterbereik, verbindt u een getagde gegevensset en traint u het model met behulp van Hyperparameters afstemmen.

    Notitie

    Als u een parameterbereik doorgeeft aan Train Model, wordt alleen de standaardwaarde in de lijst met parameters gebruikt.

    Als u één set parameterwaarden doorgeeft aan het onderdeel Model hyperparameters afstemmen en er een reeks instellingen voor elke parameter wordt verwacht, worden de waarden genegeerd en worden de standaardwaarden voor de cursist gebruikt.

    Als u de optie Parameterbereik selecteert en één waarde invoert voor een parameter, wordt die ene waarde die u hebt opgegeven, gebruikt tijdens de sweep, zelfs als andere parameters in een bereik van waarden veranderen.

Resultaten

Nadat de training is voltooid:

  • Als u een momentopname van het getrainde model wilt opslaan, selecteert u het tabblad Uitvoer in het rechterdeelvenster van het onderdeel Model trainen . Selecteer het pictogram Gegevensset registreren om het model op te slaan als een herbruikbaar onderdeel.

  • Als u het model wilt gebruiken voor scoren, voegt u het onderdeel Score Model toe aan een pijplijn.

Volgende stappen

Bekijk de set onderdelen die beschikbaar zijn voor Azure Machine Learning.