Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Valg af Funktioner | Multipel Lineær Regression
Quizzes & Challenges
Quizzes
Challenges
/
Lineær Regression med Python

bookValg af Funktioner

Når der arbejdes med mange features, ved man ofte ikke, hvilke der er vigtige. En model kan trænes med dem alle, hvorefter det kan vurderes, hvilke features der er uden betydning, og derefter kan modellen gen-trænes med kun de mest indflydelsesrige.

Hvorfor fjerne features fra modellen?

Tilføjelse af en feature, der ikke er relateret til målet, introducerer støj og forværrer forudsigelserne. Mange unyttige features akkumulerer støj og reducerer modellens kvalitet yderligere.

Hvordan vurderes om features er gode eller dårlige?

OLS leverer statistiske tests under træningen. Hver feature får et t-test resultat, som vises i summary() tabellen, hvilket indikerer om den har en signifikant effekt på målet.

123456789
import pandas as pd import statsmodels.api as sm file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file X,y = df[['Father', 'Mother']], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Create X_tilde regression_model = sm.OLS(y, X_tilde).fit() # Initialize and train an OLS object print(regression_model.summary()) #Get the summary
copy

Det, vi er interesserede i, er p-værdien for hver feature.

Kort sagt, jo lavere p-værdi, desto større sikkerhed for, at feature har betydning.

Inden for statistik fastsætter vi et signifikansniveau, typisk 0,05. Hvis en egenskabs p-værdi overstiger denne grænse, anses den for ikke at have væsentlig indflydelse.

I praksis kan lidt højere p-værdier (lige over 0,05) stadig bidrage til modellen. Det er sikrere at teste modellen både med og uden en sådan egenskab. Men hvis p-værdien er meget høj (>0,4), kan du trygt fjerne den.

Note
Bemærk

p-værdien ligger mellem 0 og 1, så når vi taler om lav p-værdi, mener vi mindre end 0,05, og høj p-værdi betyder normalt større end 0,3-0,5.

I vores eksempel fik vi p-værdier for mors højde og konstant på henholdsvis 0,087 og 0,051. Hvis vi fjerner funktioner med en p-værdi > 0,05, får vi resultatet nedenfor (til venstre).

Selv visuelt kan vi se, at modellen med konstant (til højre) er bedre, så det er bedre ikke at fjerne den fra modellen.

Note
Bemærk

Små datasæt giver ofte højere p-værdier (0,05–0,2) selv for meningsfulde funktioner. P-værdier afspejler sikkerhed: med flere data bliver det lettere at skelne virkelig indflydelsesrige funktioner fra støjende.

Hvordan fjerner man dårlige features?

Det er blot nødvendigt at fjerne kolonnen, der relaterer til featuret, fra X_tilde. Dette kan gøres med følgende kode:

X_tilde = X_tilde.drop(___, axis=1)

For eksempel, for at fjerne kolonnerne 'const' og 'Mother', anvendes:

X_tilde = X_tilde.drop(['Mother', 'const'], axis=1)

Opret derefter et nyt OLS-objekt ved at bruge det opdaterede X_tilde:

regression_model=sm.OLS(y, X_tilde)

1. Hvilke af funktionerne bør BEHOLDES?

2. Vælg den FORKERTE påstand.

question mark

Hvilke af funktionerne bør BEHOLDES?

Select the correct answer

question mark

Vælg den FORKERTE påstand.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4

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

Suggested prompts:

Can you explain what a p-value actually represents in this context?

How do I interpret the summary table from the OLS regression?

What should I do if both features have p-values just above 0.05?

Awesome!

Completion rate improved to 5.26

bookValg af Funktioner

Stryg for at vise menuen

Når der arbejdes med mange features, ved man ofte ikke, hvilke der er vigtige. En model kan trænes med dem alle, hvorefter det kan vurderes, hvilke features der er uden betydning, og derefter kan modellen gen-trænes med kun de mest indflydelsesrige.

Hvorfor fjerne features fra modellen?

Tilføjelse af en feature, der ikke er relateret til målet, introducerer støj og forværrer forudsigelserne. Mange unyttige features akkumulerer støj og reducerer modellens kvalitet yderligere.

Hvordan vurderes om features er gode eller dårlige?

OLS leverer statistiske tests under træningen. Hver feature får et t-test resultat, som vises i summary() tabellen, hvilket indikerer om den har en signifikant effekt på målet.

123456789
import pandas as pd import statsmodels.api as sm file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file X,y = df[['Father', 'Mother']], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Create X_tilde regression_model = sm.OLS(y, X_tilde).fit() # Initialize and train an OLS object print(regression_model.summary()) #Get the summary
copy

Det, vi er interesserede i, er p-værdien for hver feature.

Kort sagt, jo lavere p-værdi, desto større sikkerhed for, at feature har betydning.

Inden for statistik fastsætter vi et signifikansniveau, typisk 0,05. Hvis en egenskabs p-værdi overstiger denne grænse, anses den for ikke at have væsentlig indflydelse.

I praksis kan lidt højere p-værdier (lige over 0,05) stadig bidrage til modellen. Det er sikrere at teste modellen både med og uden en sådan egenskab. Men hvis p-værdien er meget høj (>0,4), kan du trygt fjerne den.

Note
Bemærk

p-værdien ligger mellem 0 og 1, så når vi taler om lav p-værdi, mener vi mindre end 0,05, og høj p-værdi betyder normalt større end 0,3-0,5.

I vores eksempel fik vi p-værdier for mors højde og konstant på henholdsvis 0,087 og 0,051. Hvis vi fjerner funktioner med en p-værdi > 0,05, får vi resultatet nedenfor (til venstre).

Selv visuelt kan vi se, at modellen med konstant (til højre) er bedre, så det er bedre ikke at fjerne den fra modellen.

Note
Bemærk

Små datasæt giver ofte højere p-værdier (0,05–0,2) selv for meningsfulde funktioner. P-værdier afspejler sikkerhed: med flere data bliver det lettere at skelne virkelig indflydelsesrige funktioner fra støjende.

Hvordan fjerner man dårlige features?

Det er blot nødvendigt at fjerne kolonnen, der relaterer til featuret, fra X_tilde. Dette kan gøres med følgende kode:

X_tilde = X_tilde.drop(___, axis=1)

For eksempel, for at fjerne kolonnerne 'const' og 'Mother', anvendes:

X_tilde = X_tilde.drop(['Mother', 'const'], axis=1)

Opret derefter et nyt OLS-objekt ved at bruge det opdaterede X_tilde:

regression_model=sm.OLS(y, X_tilde)

1. Hvilke af funktionerne bør BEHOLDES?

2. Vælg den FORKERTE påstand.

question mark

Hvilke af funktionerne bør BEHOLDES?

Select the correct answer

question mark

Vælg den FORKERTE påstand.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4
some-alt