Komponent för logistisk regression i två klasser
I den här artikeln beskrivs en komponent i Azure Machine Learning-designern.
Använd den här komponenten för att skapa en logistisk regressionsmodell som kan användas för att förutsäga två (och endast två) utfall.
Logistisk regression är en välkänd statistisk teknik som används för modellering av många typer av problem. Den här algoritmen är en övervakad inlärningsmetod . Därför måste du ange en datauppsättning som redan innehåller resultaten för att träna modellen.
Om logistisk regression
Logistisk regression är en välkänd metod i statistik som används för att förutsäga sannolikheten för ett utfall och är särskilt populär för klassificeringsuppgifter. Algoritmen förutsäger sannolikheten för förekomst av en händelse genom att anpassa data till en logistisk funktion.
I den här komponenten optimeras klassificeringsalgoritmen för dikotomi- eller binärvariabler. Om du behöver klassificera flera resultat använder du komponenten Logistic Regression för flera klasser.
Konfigurera
Om du vill träna den här modellen måste du ange en datauppsättning som innehåller en etikett eller klasskolumn. Eftersom den här komponenten är avsedd för problem med två klasser måste etiketten eller klasskolumnen innehålla exakt två värden.
Etikettkolumnen kan till exempel vara [Röstade] med möjliga värden för "Ja" eller "Nej". Eller så kan det vara [Kreditrisk], med möjliga värden för "Hög" eller "Låg".
Lägg till komponenten Logistic Regression för två klasser i din pipeline.
Ange hur du vill att modellen ska tränas genom att ange alternativet Skapa träningsläge .
Enskild parameter: Om du vet hur du vill konfigurera modellen kan du ange en specifik uppsättning värden som argument.
Parameterintervall: Om du inte är säker på de bästa parametrarna kan du hitta de optimala parametrarna med hjälp av komponenten Tune Model Hyperparameters . Du anger ett visst värdeintervall och utbildaren itererar över flera kombinationer av inställningarna för att fastställa vilken kombination av värden som ger det bästa resultatet.
För optimeringstolerans anger du ett tröskelvärde som ska användas när modellen optimeras. Om förbättringen mellan iterationer understiger det angivna tröskelvärdet anses algoritmen ha konvergerat på en lösning och träningen stoppas.
För L1-regulariseringsvikt och L2-regulariseringsvikt anger du ett värde som ska användas för regulariseringsparametrarna L1 och L2. Ett värde som inte är noll rekommenderas för båda.
Regularisering är en metod för att förhindra överanpassning genom att straffa modeller med extrema koefficientvärden. Regularisering fungerar genom att lägga till straffvärdet som är associerat med koefficientvärden i hypotesens fel. Därför skulle en korrekt modell med extrema koefficientvärden straffas mer, men en mindre exakt modell med mer konservativa värden skulle straffas mindre.L1- och L2-regularisering har olika effekter och användningsområden.
L1 kan tillämpas på glesa modeller, vilket är användbart när du arbetar med högdimensionella data.
L2-regularisering är däremot att föredra för data som inte är glesa.
Den här algoritmen stöder en linjär kombination av L1- och L2-regulariseringsvärden: d.v.s. if
x = L1
ochy = L2
, definierar sedanax + by = c
det linjära intervallet för regulariseringstermerna.Kommentar
Vill du veta mer om L1- och L2-regularisering? I följande artikel beskrivs hur L1- och L2-regularisering skiljer sig och hur de påverkar modellanpassning, med kodexempel för logistisk regression och neurala nätverksmodeller: L1- och L2-regularisering för Maskininlärning
Olika linjära kombinationer av L1- och L2-termer har utformats för logistiska regressionsmodeller: till exempel elastisk net regularisering. Vi rekommenderar att du refererar till dessa kombinationer för att definiera en linjär kombination som är effektiv i din modell.
För Minnesstorlek för L-BFGS anger du mängden minne som ska användas för L-BFGS-optimering .
L-BFGS står för "begränsat minne Broyden-Fletcher-Goldfarb-Shanno". Det är en optimeringsalgoritm som är populär för parameteruppskattning. Den här parametern anger antalet tidigare positioner och toningar som ska lagras för beräkningen av nästa steg.
Den här optimeringsparametern begränsar mängden minne som används för att beräkna nästa steg och riktning. När du anger mindre minne är träningen snabbare men mindre exakt.
För Slumptalsutsäde skriver du ett heltalsvärde. Det är viktigt att definiera ett startvärde om du vill att resultatet ska återskapas över flera körningar av samma pipeline.
Lägg till en märkt datauppsättning i pipelinen och träna modellen:
Om du ställer in Läget Skapa tränare på Enskild parameter ansluter du en taggad datauppsättning och komponenten Träna modell .
Om du anger Skapa träningsläge till Parameterintervall ansluter du en taggad datauppsättning och tränar modellen med hjälp av Tune Model Hyperparameters.
Kommentar
Om du skickar ett parameterintervall till Train Model används endast standardvärdet i listan med enskilda parametrar.
Om du skickar en enskild uppsättning parametervärden till komponenten Tune Model Hyperparameters ignoreras värdena när det förväntar sig ett intervall med inställningar för varje parameter och använder standardvärdena för eleven.
Om du väljer alternativet Parameterintervall och anger ett enda värde för valfri parameter används det enskilda värdet som du angav under hela svepet, även om andra parametrar ändras över ett värdeintervall.
Skicka pipelinen.
Resultat
När träningen är klar:
- Om du vill göra förutsägelser om nya data använder du den tränade modellen och nya data som indata till komponenten Poängsätta modell .
Nästa steg
Se den uppsättning komponenter som är tillgängliga för Azure Machine Learning.