Delen via


One-vs-One Multiclass

In dit artikel wordt beschreven hoe u het onderdeel One-vs-One Multiclass gebruikt in Azure Machine Learning Designer. Het doel is om een classificatiemodel te maken dat meerdere klassen kan voorspellen met behulp van de een-versus-een-benadering .

Dit onderdeel is handig voor het maken van modellen die drie of meer mogelijke resultaten voorspellen wanneer het resultaat afhankelijk is van continue of categorische voorspelvariabelen. Met deze methode kunt u ook binaire classificatiemethoden gebruiken voor problemen waarvoor meerdere uitvoerklassen zijn vereist.

Meer informatie over een-versus-één-modellen

Sommige classificatiealgoritmen maken het gebruik van meer dan twee klassen per ontwerp mogelijk. Andere beperken de mogelijke resultaten tot een van twee waarden (een binair of tweeklassemodel). Maar zelfs binaire classificatiealgoritmen kunnen worden aangepast voor classificatietaken met meerdere klassen via verschillende strategieën.

Met dit onderdeel wordt de methode één versus één geïmplementeerd, waarin een binair model per klassepaar wordt gemaakt. Op het moment van voorspelling wordt de klasse die de meeste stemmen heeft ontvangen geselecteerd. Omdat deze methode moet worden aangepast n_classes * (n_classes - 1) / 2 aan classificaties, is deze methode meestal langzamer dan één versus alle, vanwege de complexiteit van de O(n_classes^2). Deze methode kan echter voordelig zijn voor algoritmen zoals kernelalgoritmen die niet goed worden geschaald met n_samples. Dit komt doordat elk afzonderlijk leerprobleem slechts een kleine subset van de gegevens omvat, terwijl de volledige gegevensset met één versus alle tijd wordt gebruikt n_classes .

In wezen maakt het onderdeel een ensemble van afzonderlijke modellen en voegt vervolgens de resultaten samen om één model te maken dat alle klassen voorspelt. Elke binaire classificatie kan worden gebruikt als basis voor een een-versus-één model.

Stel dat u een model met twee klassen ondersteuningsvectormachine configureert en dat als invoer voor het onderdeel One-vs-One Multiclass opgeeft. Het onderdeel maakt twee klassen ondersteuningsvectormachinemodellen voor alle leden van de uitvoerklasse. Vervolgens wordt de methode één versus één toegepast om de resultaten voor alle klassen te combineren.

Het onderdeel maakt gebruik van OneVsOneClassifier van sklearn en u vindt hier meer informatie.

De classificatie One-vs-One Multiclass configureren

Met dit onderdeel maakt u een ensemble van binaire classificatiemodellen om meerdere klassen te analyseren. Als u dit onderdeel wilt gebruiken, moet u eerst een binair classificatiemodel configureren en trainen.

U verbindt het binaire model met het onderdeel One-vs-One Multiclass. Vervolgens traint u het ensemble van modellen met behulp van Train Model met een gelabelde trainingsgegevensset.

Wanneer u de modellen combineert, maakt One-vs-One Multiclass meerdere binaire classificatiemodellen, optimaliseert u het algoritme voor elke klasse en voegt u vervolgens de modellen samen. Het onderdeel voert deze taken uit, ook al heeft de trainingsgegevensset mogelijk meerdere klassewaarden.

  1. Voeg het onderdeel One-vs-One Multiclass toe aan uw pijplijn in de ontwerpfunctie. U vindt dit onderdeel onder Machine Learning - Initialiseren, in de categorie Classificatie .

    De classificatie One-vs-One Multiclass heeft geen eigen parameters. Eventuele aanpassingen moeten worden uitgevoerd in het binaire classificatiemodel dat als invoer wordt geleverd.

  2. Voeg een binair classificatiemodel toe aan de pijplijn en configureer dat model. U kunt bijvoorbeeld ondersteuningsvectormachine met twee klassen of een versterkte beslissingsstructuur met twee klassen gebruiken.

  3. Voeg het onderdeel Train Model toe aan uw pijplijn. Verbind de niet-getrainde classificatie die de uitvoer is van One-vs-One Multiclass.

  4. Verbind op de andere invoer van Train Model een gelabelde trainingsgegevensset met meerdere klassewaarden.

  5. Verzend de pijplijn.

Resultaten

Nadat de training is voltooid, kunt u het model gebruiken om voorspellingen met meerdere klassen te doen.

U kunt de niet-getrainde classificatie ook doorgeven aan kruisvalidatiemodel voor kruisvalidatie op basis van een gelabelde validatiegegevensset.

Volgende stappen

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