Beslissingsforestonderdeel met twee klassen
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 beslissingsforest-algoritme.
Beslissingsforests zijn snelle, onder supervisie staande ensemblemodellen. Dit onderdeel is een goede keuze als u een doel wilt voorspellen met maximaal twee resultaten.
Inzicht in beslissingsforests
Dit beslissingsforest-algoritme 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 meer gegeneraliseerd model kunt krijgen door meerdere gerelateerde modellen te maken en op 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 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. Voting 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) beginpunten. Dit verschilt van de benadering van willekeurige forests, waarbij de afzonderlijke beslissingsstructuren mogelijk slechts een willekeurig deel van de gegevens of functies gebruiken.
- Elke boom in de beslissingsforeststructuur levert een niet-genormaliseerd frequentie histogram van labels op.
- Het aggregatieproces telt deze histogrammen op en normaliseert het resultaat om de 'waarschijnlijkheden' voor elk label op te halen.
- De bomen met een hoge voorspellingsvertrouwen hebben een groter gewicht in de uiteindelijke beslissing van het ensemble.
Beslissingsstructuren 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 het reken- en geheugengebruik.
- Functieselectie is geïntegreerd in de trainings- en classificatieprocessen.
- Bomen kunnen voorzien van luidruchtige gegevens en veel functies.
- Ze zijn niet-parametrische modellen, wat betekent dat ze gegevens met verschillende distributies kunnen verwerken.
Eenvoudige beslissingsstructuren kunnen echter overfitten op gegevens en zijn minder generaliseerbaar dan boom ensembles.
Zie Beslissingsforests voor meer informatie.
Configureren
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.
Kies voor de methode Resampling de methode die wordt gebruikt om de afzonderlijke bomen te maken. U kunt kiezen uit Bagging of Repliceren.
Bagging: Bagging wordt ook wel bootstrapaggregating genoemd. In deze methode wordt elke boomstructuur gekweekt op een nieuw voorbeeld, gemaakt door willekeurig een steekproef te nemen van de oorspronkelijke gegevensset met vervanging totdat u een gegevensset hebt die de grootte van het origineel heeft.
De uitvoer van de modellen wordt gecombineerd door te stemmen. Dit is een vorm van aggregatie. Elke structuur in een classificatiebeslissingsforest levert een niet-genormaliseerd frequentie histogram van labels op. De aggregatie is het optellen van deze histogrammen en normaliseren om de 'waarschijnlijkheden' voor elk label op te halen. Op deze manier hebben de bomen met een hoge voorspellingsvertrouwen een groter gewicht in de uiteindelijke beslissing van het ensemble.
Zie de Wikipedia-vermelding voor Bootstrap-aggregating voor meer informatie.
Repliceren: Bij replicatie wordt elke structuur getraind op exact dezelfde invoergegevens. De bepaling van welk splitsingspredicaat wordt gebruikt voor elk boomknooppunt blijft willekeurig en de bomen zullen divers zijn.
Geef op hoe u het model wilt trainen door de optie Trainer 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 het onderdeel Tune Model Hyperparameters . U geeft een bepaald bereik van waarden op en de trainer doorloopt meerdere combinaties van de instellingen om de combinatie van waarden te bepalen die het beste resultaat opleveren.
Voor het aantal beslissingsstructuren typt u het maximum aantal beslissingsstructuren dat in het ensemble kan worden gemaakt. Door meer beslissingsstructuren te creëren, kunt u mogelijk betere dekking krijgen, maar de trainingstijd neemt toe.
Notitie
Als u de waarde instelt op 1. Er kan echter slechts één boom worden geproduceerd (de structuur met de eerste set parameters) en er worden geen verdere iteraties uitgevoerd.
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 boom kan de precisie verhogen, met het risico van overfitting en een verhoogde trainingstijd.
Voor minimaal aantal steekproeven per leaf-knooppunt geeft u het minimale aantal gevallen aan dat nodig is om een terminalknooppunt (leaf) in een boomstructuur te maken.
Door deze waarde te verhogen, verhoogt u de drempelwaarde voor het maken van nieuwe regels. Als u bijvoorbeeld de standaardwaarde 1 hebt, kan zelfs één geval ertoe leiden dat er een nieuwe regel wordt gemaakt. Als u de waarde verhoogt tot 5, moeten de trainingsgegevens ten minste vijf gevallen bevatten die aan dezelfde voorwaarden voldoen.
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.
Voeg een gelabelde gegevensset toe en train het model:
Als u de modus Trainer maken instelt op Single 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 Tune Model Hyperparameters.
Notitie
Als u een parameterbereik doorgeeft aan Train Model, wordt alleen de standaardwaarde in de lijst met enkele parameters gebruikt.
Als u één set parameterwaarden doorgeeft aan het onderdeel Tune Model Hyperparameters , worden de waarden genegeerd en worden de standaardwaarden voor de cursist gebruikt wanneer er een reeks instellingen voor elke parameter wordt verwacht.
Als u de optie Parameterbereik selecteert en één waarde invoert voor een parameter, wordt die ene waarde die u hebt opgegeven tijdens de opruimen gebruikt, zelfs als andere parameters in een bereik met 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.