Beslutningsgrense
La oss visualisere resultatene av logistisk regresjon. Vurder følgende eksempel med to funksjoner:
Når vi har bygget en logistisk regresjon, kan vi visualisere en beslutningsgrense. Den viser hvert klasses område hvor nye instanser blir predikert som den klassen. For eksempel, her er beslutningsgrensen til logistisk regresjon brukt på dataene ovenfor:
Vi kan se at linjen her skiller de to klassene perfekt. Når det skjer, kalles datasettet lineært separerbart. Dette er imidlertid ikke alltid tilfelle. Hva om datasettet ser slik ut:
Ovenfor vises en beslutningsgrense for et litt annerledes datasett. Her er dataene ikke lineært separerbare; derfor er prediksjonene gjort av logistisk regresjon ikke perfekte. Dessverre kan logistisk regresjon ikke forutsi mer komplekse beslutningsgrenser som standard, så dette er den beste prediksjonen vi kan oppnå.
Men husk at logistisk regresjon er avledet fra lineær regresjon, som har en løsning på problemet med at modellen er for enkel. Denne løsningen er polynomregresjon, og vi kan bruke dens ligning for å beregne z for å få en mer kompleks form på beslutningsgrensen:
z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22Akkurat som i polynomregresjon kan vi bruke PolynomialFeatures-transformatoren for å legge til polynomledd til våre variabler – dette hjelper modellen å lære mer komplekse mønstre.
from sklearn.preprocessing import PolynomialFeatures
X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)
Denne linjen transformerer de opprinnelige inputvariablene i X ved å legge til:
- Kvadratiske ledd (f.eks. x2);
- Interaksjonsledd (f.eks. x1⋅x2 hvis det er flere variabler).
For eksempel, hvis X opprinnelig har to variabler: [x1,x2], så får du etter å ha brukt PolynomialFeatures(2, include_bias=False): [x1,x2,x12,x1x2,x22]
Dette gjør at modeller som logistisk regresjon kan fange opp ikke-lineære sammenhenger og produsere mer fleksible, buede beslutningsgrenser. Men å øke graden for mye kan føre til at modellen tilpasser seg treningsdataene for godt – et problem kjent som overtilpasning. Derfor prøver vi vanligvis mindre grader først og evaluerer modellen nøye.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 4.17
Beslutningsgrense
Sveip for å vise menyen
La oss visualisere resultatene av logistisk regresjon. Vurder følgende eksempel med to funksjoner:
Når vi har bygget en logistisk regresjon, kan vi visualisere en beslutningsgrense. Den viser hvert klasses område hvor nye instanser blir predikert som den klassen. For eksempel, her er beslutningsgrensen til logistisk regresjon brukt på dataene ovenfor:
Vi kan se at linjen her skiller de to klassene perfekt. Når det skjer, kalles datasettet lineært separerbart. Dette er imidlertid ikke alltid tilfelle. Hva om datasettet ser slik ut:
Ovenfor vises en beslutningsgrense for et litt annerledes datasett. Her er dataene ikke lineært separerbare; derfor er prediksjonene gjort av logistisk regresjon ikke perfekte. Dessverre kan logistisk regresjon ikke forutsi mer komplekse beslutningsgrenser som standard, så dette er den beste prediksjonen vi kan oppnå.
Men husk at logistisk regresjon er avledet fra lineær regresjon, som har en løsning på problemet med at modellen er for enkel. Denne løsningen er polynomregresjon, og vi kan bruke dens ligning for å beregne z for å få en mer kompleks form på beslutningsgrensen:
z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22Akkurat som i polynomregresjon kan vi bruke PolynomialFeatures-transformatoren for å legge til polynomledd til våre variabler – dette hjelper modellen å lære mer komplekse mønstre.
from sklearn.preprocessing import PolynomialFeatures
X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)
Denne linjen transformerer de opprinnelige inputvariablene i X ved å legge til:
- Kvadratiske ledd (f.eks. x2);
- Interaksjonsledd (f.eks. x1⋅x2 hvis det er flere variabler).
For eksempel, hvis X opprinnelig har to variabler: [x1,x2], så får du etter å ha brukt PolynomialFeatures(2, include_bias=False): [x1,x2,x12,x1x2,x22]
Dette gjør at modeller som logistisk regresjon kan fange opp ikke-lineære sammenhenger og produsere mer fleksible, buede beslutningsgrenser. Men å øke graden for mye kan føre til at modellen tilpasser seg treningsdataene for godt – et problem kjent som overtilpasning. Derfor prøver vi vanligvis mindre grader først og evaluerer modellen nøye.
Takk for tilbakemeldingene dine!