Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Beslutningsgrænse | Sektion
Supervised Learning Essentials

bookBeslutningsgrænse

Lad os visualisere resultaterne af logistisk regression. Overvej følgende eksempel med to funktioner:

Når en logistisk regression er opbygget, kan en beslutningsgrænse visualiseres. Den viser hvert klasses område, hvor nye observationer forudsiges som den pågældende klasse. For eksempel ses her beslutningsgrænsen for logistisk regression anvendt på ovenstående data:

Det kan observeres, at linjen her adskiller de to klasser perfekt. Når dette sker, kaldes datasættet lineært separabelt. Dette er dog ikke altid tilfældet. Hvad nu hvis datasættet så således ud:

Ovenfor ses en beslutningsgrænse for et lidt anderledes datasæt. Her er dataene ikke lineært separable; derfor er de forudsigelser, som Logistic Regression laver, ikke perfekte. Desværre kan Logistic Regression som standard ikke forudsige mere komplekse beslutningsgrænser, så det er den bedste forudsigelse, vi kan opnå.

Men husk, at Logistic Regression er afledt af Linear Regression, som har en løsning på problemet med, at modellen er for simpel. Denne løsning er en Polynomial Regression, og vi kan bruge dens ligning til at beregne zz for at få en mere kompleks form på beslutningsgrænsen:

z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22z = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \beta_3 x_1^2 + \beta_4 x_1 x_2 + \beta_5 x_2^2

Ligesom i Polynomial Regression kan vi bruge PolynomialFeatures-transformeren til at tilføje polynomielle termer til vores features – dette hjælper modellen med at lære mere komplekse mønstre.

from sklearn.preprocessing import PolynomialFeatures

X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)

Denne linje transformerer de oprindelige input-features i X ved at tilføje:

  • Kvadrerede termer (f.eks. x2x^2);
  • Interaktionstermer (f.eks. x1x2x_1 \cdot x_2 hvis der er flere features).

For eksempel, hvis X oprindeligt har to features: [x1,x2][x_1, x_2], så får du efter anvendelse af PolynomialFeatures(2, include_bias=False): [x1,x2,x12,x1x2,x22][x_1, x_{2}, x_{1}\\^{2} , x_{1} x_{2}, x_{2}\\^{2}]

Dette gør det muligt for modeller som Logistic Regression at opfange ikke-lineære sammenhænge og skabe mere fleksible, buede beslutningsgrænser. Dog kan en for høj grad føre til, at modellen tilpasser sig træningsdataene for godt – et problem kendt som overfitting. Derfor starter vi som regel med lavere grader og evaluerer modellen grundigt.

question mark

Hvorfor har man brug for polynomielle features i Logistic Regression?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 24

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

bookBeslutningsgrænse

Stryg for at vise menuen

Lad os visualisere resultaterne af logistisk regression. Overvej følgende eksempel med to funktioner:

Når en logistisk regression er opbygget, kan en beslutningsgrænse visualiseres. Den viser hvert klasses område, hvor nye observationer forudsiges som den pågældende klasse. For eksempel ses her beslutningsgrænsen for logistisk regression anvendt på ovenstående data:

Det kan observeres, at linjen her adskiller de to klasser perfekt. Når dette sker, kaldes datasættet lineært separabelt. Dette er dog ikke altid tilfældet. Hvad nu hvis datasættet så således ud:

Ovenfor ses en beslutningsgrænse for et lidt anderledes datasæt. Her er dataene ikke lineært separable; derfor er de forudsigelser, som Logistic Regression laver, ikke perfekte. Desværre kan Logistic Regression som standard ikke forudsige mere komplekse beslutningsgrænser, så det er den bedste forudsigelse, vi kan opnå.

Men husk, at Logistic Regression er afledt af Linear Regression, som har en løsning på problemet med, at modellen er for simpel. Denne løsning er en Polynomial Regression, og vi kan bruge dens ligning til at beregne zz for at få en mere kompleks form på beslutningsgrænsen:

z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22z = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \beta_3 x_1^2 + \beta_4 x_1 x_2 + \beta_5 x_2^2

Ligesom i Polynomial Regression kan vi bruge PolynomialFeatures-transformeren til at tilføje polynomielle termer til vores features – dette hjælper modellen med at lære mere komplekse mønstre.

from sklearn.preprocessing import PolynomialFeatures

X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)

Denne linje transformerer de oprindelige input-features i X ved at tilføje:

  • Kvadrerede termer (f.eks. x2x^2);
  • Interaktionstermer (f.eks. x1x2x_1 \cdot x_2 hvis der er flere features).

For eksempel, hvis X oprindeligt har to features: [x1,x2][x_1, x_2], så får du efter anvendelse af PolynomialFeatures(2, include_bias=False): [x1,x2,x12,x1x2,x22][x_1, x_{2}, x_{1}\\^{2} , x_{1} x_{2}, x_{2}\\^{2}]

Dette gør det muligt for modeller som Logistic Regression at opfange ikke-lineære sammenhænge og skabe mere fleksible, buede beslutningsgrænser. Dog kan en for høj grad føre til, at modellen tilpasser sig træningsdataene for godt – et problem kendt som overfitting. Derfor starter vi som regel med lavere grader og evaluerer modellen grundigt.

question mark

Hvorfor har man brug for polynomielle features i Logistic Regression?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 24
some-alt