Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Velge Funksjonene | Multippel Lineær Regresjon
Quizzes & Challenges
Quizzes
Challenges
/
Lineær Regresjon med Python

bookVelge Funksjonene

Når du arbeider med mange egenskaper, vet du ofte ikke hvilke som er viktige. Du kan trene en modell med alle, sjekke hvilke egenskaper som ikke er nyttige, og deretter trene på nytt med kun de som har betydning.

Hvorfor fjerne egenskaper fra modellen?

Å legge til en egenskap som ikke er relatert til målet, introduserer støy og forverrer prediksjonene. Mange unyttige egenskaper øker støyen og reduserer modellens kvalitet ytterligere.

Hvordan vite om egenskapene er gode eller dårlige?

OLS gir statistiske tester under treningen. Hver egenskap får et t-test-resultat, vist i summary()-tabellen, som 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 interessert i, er p-verdien for hver funksjon.

Kort sagt, jo lavere p-verdi, desto høyere tillit til at funksjonen har betydning.

I statistikk setter vi et signifikansnivå, vanligvis 0,05. Hvis en egenskaps p-verdi overstiger denne terskelen, anses den som ikke innflytelsesrik.

I praksis kan litt høyere p-verdier (rett over 0,05) fortsatt være nyttige for modellen. Det er tryggere å teste modellen med og uten en slik egenskap. Men hvis p-verdien er svært høy (>0,4), kan du trygt fjerne den.

Note
Merk

p-verdi varierer fra 0 til 1, så når vi snakker om lav p-verdi mener vi mindre enn 0,05 og høy p-verdi betyr vanligvis større enn 0,3-0,5.

I vårt eksempel fikk vi p-verdier for mors høyde og konstant på 0,087 og 0,051. Hvis vi fjerner egenskaper med en p-verdi > 0,05, får vi resultatet nedenfor (til venstre).

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

Note
Merk

Små datasett gir ofte høyere p-verdier (0,05–0,2) selv for meningsfulle egenskaper. P-verdier reflekterer sikkerhet: med mer data blir det lettere å skille virkelig betydningsfulle egenskaper fra støyende.

Hvordan fjerne dårlige egenskaper?

Du trenger bare å fjerne kolonnen som er relatert til egenskapen fra X_tilde. Dette kan gjøres med følgende kode:

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

For eksempel, for å fjerne kolonnene 'const' og 'Mother' bruker du:

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

Deretter opprettes et nytt OLS-objekt ved å bruke den oppdaterte X_tilde:

regression_model=sm.OLS(y, X_tilde)

1. Hvilke av egenskapene bør beholdes?

2. Velg den FEILAKTIGE påstanden.

question mark

Hvilke av egenskapene bør beholdes?

Select the correct answer

question mark

Velg den FEILAKTIGE påstanden.

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

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 5.26

bookVelge Funksjonene

Sveip for å vise menyen

Når du arbeider med mange egenskaper, vet du ofte ikke hvilke som er viktige. Du kan trene en modell med alle, sjekke hvilke egenskaper som ikke er nyttige, og deretter trene på nytt med kun de som har betydning.

Hvorfor fjerne egenskaper fra modellen?

Å legge til en egenskap som ikke er relatert til målet, introduserer støy og forverrer prediksjonene. Mange unyttige egenskaper øker støyen og reduserer modellens kvalitet ytterligere.

Hvordan vite om egenskapene er gode eller dårlige?

OLS gir statistiske tester under treningen. Hver egenskap får et t-test-resultat, vist i summary()-tabellen, som 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 interessert i, er p-verdien for hver funksjon.

Kort sagt, jo lavere p-verdi, desto høyere tillit til at funksjonen har betydning.

I statistikk setter vi et signifikansnivå, vanligvis 0,05. Hvis en egenskaps p-verdi overstiger denne terskelen, anses den som ikke innflytelsesrik.

I praksis kan litt høyere p-verdier (rett over 0,05) fortsatt være nyttige for modellen. Det er tryggere å teste modellen med og uten en slik egenskap. Men hvis p-verdien er svært høy (>0,4), kan du trygt fjerne den.

Note
Merk

p-verdi varierer fra 0 til 1, så når vi snakker om lav p-verdi mener vi mindre enn 0,05 og høy p-verdi betyr vanligvis større enn 0,3-0,5.

I vårt eksempel fikk vi p-verdier for mors høyde og konstant på 0,087 og 0,051. Hvis vi fjerner egenskaper med en p-verdi > 0,05, får vi resultatet nedenfor (til venstre).

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

Note
Merk

Små datasett gir ofte høyere p-verdier (0,05–0,2) selv for meningsfulle egenskaper. P-verdier reflekterer sikkerhet: med mer data blir det lettere å skille virkelig betydningsfulle egenskaper fra støyende.

Hvordan fjerne dårlige egenskaper?

Du trenger bare å fjerne kolonnen som er relatert til egenskapen fra X_tilde. Dette kan gjøres med følgende kode:

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

For eksempel, for å fjerne kolonnene 'const' og 'Mother' bruker du:

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

Deretter opprettes et nytt OLS-objekt ved å bruke den oppdaterte X_tilde:

regression_model=sm.OLS(y, X_tilde)

1. Hvilke av egenskapene bør beholdes?

2. Velg den FEILAKTIGE påstanden.

question mark

Hvilke av egenskapene bør beholdes?

Select the correct answer

question mark

Velg den FEILAKTIGE påstanden.

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 4
some-alt