Model kruislings valideren

Hiermee worden de schattingen van de para meters voor classificatie of regressie modellen kruislings gevalideerd door de gegevens te partitioneren

Categorie: machine learning/evalueren

Notitie

Van toepassing op : machine learning Studio (klassiek)

Deze inhoud is alleen van toepassing op Studio (klassiek). Er zijn Vergelijk bare modules voor slepen en neerzetten toegevoegd aan Azure Machine Learning Designer. In dit artikel vindt u meer informatie over de twee versies.

Module overzicht

In dit artikel wordt beschreven hoe u de module voor Kruis validatie in azure machine learning Studio (klassiek) gebruikt. Kruis validatie is een belang rijke techniek die vaak wordt gebruikt in machine learning om zowel de variabiliteit van een gegevensset als de betrouw baarheid te beoordelen van een model dat is getraind met behulp van die gegevens.

De module voor het kruislings valideren van modellen neemt als invoer een gegevensset met een label, samen met een niet-uitgetrainde classificatie of regressie model. De gegevensset wordt onderverdeeld in een aantal subsets (vouwen), bouwt een model op elke vouw en retourneert vervolgens een set nauw keurige statistieken voor elke vouw. Door de nauw keurige statistieken voor alle vouwen te vergelijken, kunt u de kwaliteit van de gegevensset interpreteren en begrijpen of het model gevoelig is voor variaties in de gegevens.

Kruis validatie retourneert ook voorspelde resultaten en waarschijnlijkheid voor de gegevensset, zodat u de betrouw baarheid van de voor spellingen kunt beoordelen.

Hoe Kruis validatie werkt

  1. Door Kruis validatie worden de trainings gegevens wille keurig verdeeld over een aantal partities, ook wel vouwengenoemd.

    • Het algoritme wordt standaard ingesteld op 10 vouwen als u de gegevensset niet eerder hebt gepartitioneerd.
    • Als u de gegevensset wilt splitsen in een ander aantal vouwen, kunt u de module Partition en sample gebruiken en aangeven hoeveel vouwen u wilt gebruiken.
  2. In de module worden de gegevens in vouw 1 gereserveerd om te worden gebruikt voor validatie (dit wordt ook wel de evaluatie-vouwgenoemd) en worden de resterende vouwen gebruikt om een model te trainen.

    Als u bijvoorbeeld vijf vouwen maakt, genereert de module vijf modellen tijdens de Kruis validatie, elk model dat is getraind met 4/5 van de gegevens en getest op de resterende 1/5.

  3. Tijdens het testen van het model voor elke vouw, worden er meerdere nauwkeurigheids statistieken geëvalueerd. Welke statistieken worden gebruikt, is afhankelijk van het type model dat u evalueert. Verschillende statistieken worden gebruikt om classificatie modellen en regressie modellen te evalueren.

  4. Wanneer het proces voor het maken en evalueren van alle vouwen is voltooid, genereert het model voor meerdere validaties een set prestatie gegevens en gescoorde resultaten voor alle gegevens. U moet deze metrische gegevens controleren om te zien of een enkele vouwen een zeer hoge of lage nauw keurigheid heeft

Voor delen van kruis validatie

Een andere en zeer algemene manier om een model te evalueren is het delen van de gegevens in een trainings-en testset met gesplitste gegevensen vervolgens het model op de trainings gegevens valideren. Kruis validatie biedt echter een aantal voor delen:

  • Kruis validatie maakt gebruik van meer test gegevens.

    Kruis validatie meet de prestaties van het model met de opgegeven para meters in een grotere gegevens ruimte. Dat wil zeggen dat kruis validatie gebruikmaakt van de volledige trainings gegevensset voor zowel training als evaluatie, in plaats van een deel van een gedeelte. Als u daarentegen een model valideert met behulp van gegevens die zijn gegenereerd op basis van een wille keurige splitsing, wordt het model doorgaans alleen op 30% of minder van de beschik bare gegevens geëvalueerd.

    Omdat intervalidatie treinen echter meerdere keren in een grotere gegevensset worden gevalideerd, is het veel meer reken intensief en duurt het veel langer dan het valideren van een wille keurige splitsing.

  • Bij Kruis validatie worden de gegevensset en het model geëvalueerd.

    Bij Kruis validatie wordt niet alleen de nauw keurigheid van een model gemeten, maar u kunt ook een idee krijgen van hoe representatief de gegevensset is en hoe gevoelig het model kan zijn voor variaties in de gegevens.

Model voor meerdere validatie gebruiken

Er zijn twee belang rijke manieren om Kruis validatie te gebruiken.

Het uitvoeren van meerdere validaties kan veel tijd in beslag nemen als u veel gegevens gebruikt. Daarom kunt u het model voor meerdere validaties gebruiken in de eerste fase van het maken en testen van uw model, om de goed keuring van de model parameters te evalueren (ervan uitgaande dat de reken tijd Maxi maal is), en vervolgens uw model trainen en evalueren met behulp van de ingestelde para meters met het Train model en de model modules evalueren .

Eenvoudige Kruis validatie

In dit scenario moet u het model trainen en testen met behulp van een model voor meerdere validaties.

  1. Voeg de module model voor kruis validatie toe aan uw experiment. U kunt dit vinden in Azure Machine Learning Studio (klassiek) in de categorie machine learning onder evalueren.

  2. Verbind de uitvoer van een classificatie of regressie model.

    Als u bijvoorbeeld een twee klasse Bayes-punt machine voor classificatie gebruikt, configureert u het model met de gewenste para meters en sleept u een connector van de niet- getrainde model poort van de classificatie naar de overeenkomende poort van kruislings validate model.

    Tip

    Het model hoeft niet te worden getraind omdat Kruis validatie het model automatisch als onderdeel van de evaluatie ondertraint.

  3. Verbind op de gegevensset -poort van kruislings valideren modeleen trainings gegevensset met een label.

  4. Klik in het deel venster Eigenschappen van het model Kruis validerenop kolom kiezer starten en kies de afzonderlijke kolom die het klassen label of de voorspel bare waarde bevat.

  5. Stel een waarde in voor de wille keurige Seed -para meter als u de resultaten van kruis validatie wilt herhalen in opeenvolgende uitvoeringen van dezelfde gegevens.

  6. Voer het experiment uit.

  7. Zie de sectie met resultaten voor een beschrijving van de rapporten.

    Als u later een kopie van het model wilt ophalen, klikt u met de rechter muisknop op de uitvoer van de module die het algoritme bevat (bijvoorbeeld de twee klasse Bayes punt machine) en klikt u op Opslaan als getraind model.

Kruis validatie met een parameter sweep

In dit scenario gebruikt u model Hyper parameters om het beste model te identificeren door een parameter sweep uit te voeren, en gebruikt u vervolgens het model voor kruislings valideren om de betrouw baarheid te controleren. Dit is de eenvoudigste manier om het beste model te Azure Machine Learning identificeren en vervolgens metrische gegevens te genereren.

  1. Voeg de gegevensset voor model training toe en voeg een van de machine learning-modules toe waarmee een classificatie of regressie model wordt gemaakt.

  2. Voeg de Hyper parameters-module model afstemmen toe aan uw experiment. U kunt deze vinden in de categorie machine learning , onder trein.

  3. Koppel de classificatie of het regressie model aan de niet- getrainde model invoer van het afstemmings model Hyper parameters.

  4. Voeg de module model voor kruis validatie toe aan uw experiment. U kunt dit vinden in Azure Machine Learning Studio (klassiek) in de categorie machine learning onder evalueren.

  5. Zoek de Aanbevolen model uitvoer van het afstemmings model Hyper parametersen verbind deze met de niet- getrainde model invoer van het model voor kruislings valideren.

  6. Verbind de trainings gegevens met de invoer van de trainings gegevensset van het model voor kruislings valideren.

  7. Voer het experiment uit.

  8. Nadat u de resultaten en de evaluatie scores hebt bekeken om een kopie te krijgen van het beste model voor later hergebruik, klikt u met de rechter muisknop op de module model Hyper parameters optimaliseren , selecteert u Best pretraind modelen klikt u vervolgens op Opslaan als getraind model.

Notitie

U kunt verschillende resultaten krijgen als u de invoer gebruikt in de module Tune model Hyper parameters voor een optionele validatie gegevensset.

Dat komt doordat wanneer u deze optie gebruikt, u een statische trainings gegevensset hebt opgegeven en een gegevensset testen. Het kruislings validatie proces gebruikt daarom ook de opgegeven training en test gegevens sets, in plaats van de gegevens te splitsen in n groepen voor training en tests. Er worden echter metrische gegevens gegenereerd op basis van een n-fold.

Levert

Nadat alle iteraties zijn voltooid, maakt het Kruis validatie model scores voor de hele gegevensset, evenals de metrische gegevens over prestaties die u kunt gebruiken om de kwaliteit van het model te beoordelen.

Gescoorde resultaten

De eerste uitvoer van de module levert de bron gegevens voor elke rij, samen met enkele voorspelde waarden en gerelateerde kansen.

Als u deze resultaten wilt weer geven, klikt u in het experiment met de rechter muisknop op de model module Kruis validatie , selecteert u de resultaten van de Scoreen klikt u op visualiseren.

Nieuwe kolomnaam Beschrijving
Vouw toewijzingen Hiermee wordt de op 0 gebaseerde index van de vouw aangegeven waarmee elke rij met gegevens tijdens Kruis validatie werd toegewezen.
Labels met een score Deze kolom wordt toegevoegd aan het einde van de gegevensset en bevat de voorspelde waarde voor elke rij
Gescoorde kansen Deze kolom wordt toegevoegd aan het einde van de gegevensset en geeft de geschatte waarschijnlijkheid van de waarde in de gescoorde labelsaan.

Evaluatieresultaten

Het tweede rapport is gegroepeerd op vouwen. Houd er rekening mee dat tijdens het uitvoeren van het model met meerdere validaties de opleidings gegevens wille keurig worden gesplitst in n vouwen (standaard 10). In elke iteratie over de gegevensset gebruikt het Kruis validatie model één vouw als een validatie gegevensset en worden de resterende n-1 vouwen gebruikt om een model te trainen. Elk van de n -modellen wordt getest op basis van de gegevens in alle andere vouwen.

In dit rapport worden de vouwen weer gegeven op index waarde, in oplopende volg orde. Als u wilt sorteren op een andere kolom, kunt u de resultaten opslaan als een gegevensset.

Als u deze resultaten wilt weer geven, klikt u in het experiment met de rechter muisknop op de model module Kruis validatie , selecteert u evaluatie resultaten per vouwen klikt u op visualiseren.

Kolomnaam Beschrijving
Vouw nummer Een id voor elke vouw. Als u vijf vouwen hebt gemaakt, zijn er vijf subsets met gegevens, genummerd van 0 tot 4.
Aantal voor beelden in vouwen Het aantal rijen dat aan elke vouw is toegewezen. Ze moeten ongeveer gelijk zijn.
Modelleren De algoritme die wordt gebruikt in het model, aangeduid met de API-naam

Daarnaast zijn de volgende metrische gegevens opgenomen voor elke vouw, afhankelijk van het type model dat u evalueert.

  • Classificatie modellen: precisie, intrekken, F-Score, AUC, gemiddeld logboek verlies, logboek verlies van de training

  • Regressie modellen: negatieve kans op logboek registratie, absolute fout, fout met vierkantswortel, relatieve absolute fout, en coëfficiënt bepaling

Voorbeelden

Voor voor beelden van de manier waarop Kruis validatie in machine learning wordt gebruikt, raadpleegt u de Azure AI Gallery:

Technische opmerkingen

  • Het is een best practice om gegevens sets te normaliseren voordat ze worden gebruikt voor kruis validatie.

  • Omdat het model treinen meerdere keren valideert en de modellen meermaals valideert, is het veel meer reken intensief en duurt het langer dan als u het model hebt gevalideerd met behulp van een wille keurig opgesplitste gegevensset.

  • We raden u aan om het model voor kruis validatie te gebruiken om de goedeiteit van het model te bepalen, op basis van de opgegeven para meters. Gebruik Tune model Hyper parameters om de optimale para meters te identificeren.

  • Het is niet nodig om de gegevensset te splitsen in trainings-en test sets wanneer u kruis validatie gebruikt om de nauw keurigheid van het model te meten.

    Als er echter een validatie-gegevensset wordt opgegeven, gebruikt de module de opgegeven training en test gegevens sets in plaats van te splitsen in n vouwen. Dat wil zeggen dat de eerste gegevensset wordt gebruikt om het model te trainen voor elke parameter combinatie en dat de modellen worden geëvalueerd op de validatie gegevensset. Zie de sectie over het gebruik van een parameter sweep met kruis validatie.

  • Hoewel in dit artikel oudere versies van de modules worden gebruikt, is er een goede uitleg van het proces voor kruis validatie: para meters kiezen voor het optimaliseren van uw algoritmen in azure machine learning

Verwachte invoer

Naam Type Beschrijving
Niet-traind model ILearner-interface Niet-traind model voor kruis validatie op gegevensset
Gegevensset Gegevens tabel Invoer gegevensset

Module parameters

Naam Bereik Type Standaard Beschrijving
Kolom Label alle ColumnSelection Selecteer de kolom die het label bevat dat moet worden gebruikt voor validatie
Wille keurige Seed alle Geheel getal 0 Seed-waarde voor wille keurige getallen generator

Deze waarde is optioneel. Indien niet opgegeven

Outputs

Naam Type Beschrijving
Gescoorde resultaten Gegevens tabel Resultaten van Score
Evaluatie resultaten door vouwen Gegevens tabel Resultaten van de evaluatie (door vouwen en volledig)

Uitzonderingen

Uitzondering Beschrijving
Fout 0035 Uitzonde ring treedt op als er geen functies voor een gegeven gebruiker of item zijn opgegeven.
Fout 0032 Uitzonde ring treedt op als argument geen getal is.
Fout 0033 Uitzonde ring treedt op als argument oneindig is.
Fout 0001 Uitzonde ring treedt op als een of meer opgegeven kolommen met gegevensset niet zijn gevonden.
Fout 0003 Uitzonde ring treedt op als een of meer invoer waarden null of leeg zijn.
Fout 0006 Uitzonde ring treedt op als de para meter groter is dan of gelijk is aan de opgegeven waarde.
Fout 0008 Uitzonde ring treedt op als de para meter niet binnen het bereik valt.
Fout 0013 Uitzonde ring treedt op als de kenniser die is door gegeven aan de module, een ongeldig type heeft.

Zie machine learning fout codesvoor een lijst met fouten die specifiek zijn voor Studio-modules (Classic).

Zie Machine Learning rest API fout codesvoor een lijst met API-uitzonde ringen.

Zie ook

Gecontroleerd
Aanbeveling evalueren
Module lijst a-Z