Logistic Regression med två klasser

Skapar en logistik Regressions modell med två klasser

Kategori: Machine Learning/initiera modell/klassificering

Anteckning

Gäller för: Machine Learning Studio (klassisk)

Det här innehållet gäller endast Studio (klassisk). Liknande dra och släpp-moduler har lagts till i Azure Machine Learning designer. Läs mer i den här artikeln om att jämföra de två versionerna.

Översikt över modul

Den här artikeln beskriver hur du använder logistik Regressions-modulen med två klasser i Azure Machine Learning Studio (klassisk) för att skapa en logistik Regressions modell som kan användas för att förutsäga två (och bara två) resultat.

Logistisk regression är en välkänd statistisk teknik som används för att modellera många typer av problem. Den här algoritmen är en övervakad inlärnings metod. Därför måste du ange en data uppsättning som redan innehåller resultatet för att träna modellen.

Mer 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 resultat och är särskilt populär för klassificerings uppgifter. Algoritmen förutsäger sannolikheten för förekomst av en händelse genom att anpassa data till en logistik funktion. Mer information om den här implementeringen finns i avsnittet tekniska anteckningar .

I den här modulen är klassificerings algoritmen optimerad för dichotomous eller binära variabler. Om du behöver klassificera flera resultat använder du logistik Regressions modulen multiklass .

Så här konfigurerar du Two-Class Logistisk regression

För att träna den här modellen måste du ange en data uppsättning som innehåller en etikett eller klass kolumn. Eftersom den här modulen är avsedd för två klass problem måste etiketten eller klass kolumnen innehålla exakt två värden.

Etikett kolumnen kan till exempel vara [röstat] med möjliga värden "Yes" eller "No". Eller så kan det vara [kredit risk], med möjliga värden "hög" eller "låg".

  1. Lägg till en logistik Regressions-modul i två klass i experimentet i Studio (klassisk).

  2. Ange hur du vill att modellen ska tränas genom att ställa in alternativet skapa utbildare läge .

    • Enskild parameter: om du vet hur du vill konfigurera modellen kan du ange en viss uppsättning värden som argument.

    • Parameter intervall: om du inte är säker på de bästa parametrarna kan du hitta de optimala parametrarna genom att ange flera värden och använda modulen finjustera modellets standardparametrar för att hitta den optimala konfigurationen. Utbildaren itererar över flera kombinationer av inställningarna och avgör den kombination av värden som ger den bästa modellen.

  3. För optimerings tolerans anger du ett tröskelvärde som ska användas när modellen optimeras. Om förbättringen mellan iterationer sjunker under det angivna tröskelvärdet anses algoritmen ha konvergerat till en lösning och träningen stoppas.

  4. För L1-regulariseringshastigheten vikt och L2-regulariseringshastigheten anger du ett värde som ska användas för regulariseringshastigheten-parametrarna L1 och L2. Ett värde som inte är noll rekommenderas för båda.

    Regulariseringshastigheten är en metod för att förhindra övermontering genom att motverka modeller med extrema koefficient värden. Regulariseringshastigheten fungerar genom att lägga till den påföljd som är kopplad till koefficienterna till felet i hypotesen. Därför skulle en korrekt modell med extrema koefficienter bli mer, men en mindre exakt modell med fler restriktiva värden skulle bli mindre.

    L1-och L2-regulariseringshastigheten har olika effekter och användnings områden.

    • L1 kan användas för sparse-modeller, vilket är användbart när du arbetar med avancerade data.

    • L2-regulariseringshastigheten är däremot bättre för data som inte är sparse.

    Den här algoritmen stöder en linjär kombination av L1-och L2-regulariseringshastigheten värden: det vill säga om x = L1 och y = L2 definierar den ax + by = c linjära omfånget för regulariseringshastigheten-villkoren.

    Anteckning

    Vill du veta mer om L1-och L2-regulariseringshastigheten? Följande artikel innehåller en beskrivning av hur L1-och L2-regulariseringshastigheten skiljer sig från varandra och hur de påverkar modell anpassning, med kod exempel för logistik regression och neurala nätverks modeller: L1-och L2-regulariseringshastigheten för Machine Learning

    Olika linjära kombinationer av L1-och L2-villkor har gjorts för logistik Regressions modeller: till exempel elastiska net-regulariseringshastigheten. Vi rekommenderar att du refererar till dessa kombinationer för att definiera en linjär kombination som är effektiv i din modell.

  5. För minnes storlek för l-BFGS anger du hur mycket minne som ska användas för att optimera l-BFGS .

    L-BFGS står för "begränsat minne Broyden-Fletcher-Goldfarb-Shanno". Det är en optimerings algoritm som är populär för parameter uppskattning. Den här parametern anger antalet tidigare positioner och toningar som ska lagras för att beräkna nästa steg.

    Den här optimerings parametern 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.

  6. Ange ett heltals värde för slumpmässig numrering av utsäde. Det är viktigt att definiera ett Seed-värde om du vill att resultatet ska vara reproducerbart vid flera körningar av samma experiment.

  7. Välj alternativet Tillåt okända kategoriska-nivåer för att skapa ytterligare en "okänd" nivå i varje kategoriska-kolumn. Om du gör det mappas alla värden (nivåer) i test data uppsättningen som inte är tillgängliga i data uppsättningen för träning till denna "okänd" nivå.

  8. Lägg till en taggad data uppsättning i experimentet och Anslut en av träna-modulerna.

    Anteckning

    Om du skickar ett parameter intervall för att träna modellen, används endast det första värdet i listan parameter intervall.

    Om du skickar en enda uppsättning parameter värden till modulen finjustera modellens standardparametrar , ignoreras värdena och standardvärdena för eleven när en uppsättning av inställningarna för varje parameter förväntas.

    Om du väljer alternativet parameter intervall och anger ett enda värde för en parameter, används det enskilda värdet du angav i hela svepet, även om andra parametrar ändras i ett intervall med värden.

  9. Kör experimentet.

Resultat

När utbildningen är klar:

  • Om du vill se en översikt över modellens parametrar, tillsammans med funktions vikter från utbildning, högerklickar du på utdata från träna modell eller finjustera modellens egenskaperoch väljer visualisera.

  • Om du vill göra förutsägelser för nya data använder du den tränade modellen och nya data som indata till modulen Poäng modell .

  • Om du vill utföra kors validering mot en etikettad data uppsättning ansluter du data och den ej tränade modellen till korsvaliderings modellen.

Exempel

Exempel på hur den här inlärnings algoritmen används finns i Azure AI Gallery:

Tekniska anteckningar

Det här avsnittet innehåller implementerings information, tips och svar på vanliga frågor.

Användnings tips

Logistisk regression kräver numeriska variabler. När du använder kategoriska kolumner som variabel, konverterar Azure Machine Learning värdena till en indikator mat ris internt.

För datum och tider används en numerisk representation. (Mer information om datum/tid-värden finns i datetime-struktur (.NET Framework)-kommentarer.) Om du vill hantera datum och tider på olika sätt föreslår vi att du skapar en härledd kolumn.

Implementeringsdetaljer

Logistisk regression antar en logistik fördelning av data, där sannolikheten att ett exempel tillhör klass 1 är formeln:

p(x;β0,…, βD-1)

Plats:

  • x är en D-dimensionell Vector som innehåller värdena för alla funktioner i instansen.

  • p är logistisk distributions funktionen.

  • β{0},..., β {D-1} är de okända parametrarna för logistik distributionen.

Algoritmen försöker hitta de optimala värdena för β{0},..., β {D-1} genom att maximera logg sannolikheten för parametrarna med angivna indata. Maximeras genom att använda en populär metod för parameter uppskattning, som kallas begränsad minnes BFGS.

Söker

Mer information om hur du implementerar den här algoritmen finns i Scalable Training of L-1 regulared Log-Linear-modeller, av Andrew och Gao.

Parametrar för modul

Name Intervall Typ Standardvärde Beskrivning
Optimerings tolerans >= Double. Epsilon Float 0,0000001 Ange ett tolerans värde för L-BFGS-optimering
L1 regulariseringshastigheten vikt >= 0,0 Float 1.0 Ange regulariseringshastigheten vikt för L1
L2-regulariseringshastigheten vikt >= 0,0 Float 1.0 Ange vikten för L2-regulariseringshastigheten
Minnes storlek för L-BFGS >= 1 Integer 20 Ange hur mycket minne (i MB) som ska användas för L-BFGS-optimering
Slumpmässigt värde för start Valfri Integer Ange ett värde för att dirigera den slumpmässiga nummer generatorn som används av modellen. Lämna det tomt för standardvärdet.
Tillåt okända kategoriska-nivåer Valfri Boolesk Sant Ange om en ytterligare nivå ska skapas för varje kategoriska-kolumn. Alla nivåer i test data uppsättningen som inte är tillgängliga i inlärnings data uppsättningen mappas till den här ytterligare nivån.

Utdata

Namn Typ Beskrivning
Modell som inte är tränad ILearner-gränssnitt En modell som inte är tränad klassificering

Se även

Klassificering

Logistic Regression med flera klasser

En-ö-modul lista