Velge Egenskapene
Når du arbeider med mange funksjoner, vet du ofte ikke hvilke som er viktige. Du kan trene en modell med alle funksjonene, undersøke hvilke som ikke bidrar, og deretter trene modellen på nytt med kun de mest betydningsfulle.
Hvorfor fjerne funksjoner fra modellen?
Å legge til en funksjon som ikke er relatert til målet, introduserer støy og forverrer prediksjonene. Mange unyttige funksjoner øker støyen og reduserer modellens kvalitet ytterligere.
Hvordan vite om funksjonene er gode eller dårlige?
For å vurdere om funksjonene har betydelig innvirkning på målet, kan vi beregne p-verdier for hver funksjon. En lav p-verdi antyder at funksjonen er statistisk signifikant.
1234567891011121314151617import pandas as pd from sklearn.feature_selection import f_regression 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) X, y = df[['Father', 'Mother']], df['Height'] # f_regression returns F-statistic and p-values f_stat, p_values = f_regression(X, y) # Create a DataFrame to view results nicely results = pd.DataFrame({ 'Feature': X.columns, 'p_value': p_values }) print(results)
Kort sagt, jo lavere p-verdi, desto høyere tillit til at egenskapen har betydning. Vanligvis anses en p-verdi mindre enn 0,05 som statistisk signifikant.
I eksempelet ovenfor:
Father: (ekstremt liten, svært signifikant)Mother: (veldig liten, svært signifikant)
Begge egenskapene er gode prediktorer for målet.
I statistikk setter vi et signifikansnivå, vanligvis 0,05. Hvis en egenskaps p-verdi overstiger denne terskelen, anses den som ikke betydningsfull.
I praksis kan litt høyere p-verdier (rett over 0,05) fortsatt være nyttige for modellen. Det er tryggere å teste modellen både med og uten en slik variabel. Men hvis p-verdien er svært høy (>0,4), kan du trygt fjerne den.
p-verdien 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 Mother's height og konstant på 0.087 og 0.051. Hvis vi fjerner variabler med p-verdi > 0.05, får vi resultatet under (til venstre).
Selv visuelt kan vi se at modellen med konstant (til høyre) er bedre, så det er best å ikke fjerne den fra modellen.
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 innflytelsesrike 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 oppretter du et nytt OLS-objekt ved å bruke oppdatert X_tilde:
regression_model=sm.OLS(y, X_tilde)
1. Hvilke av egenskapene bør beholdes?
2. Velg den FEILAKTIGE påstanden.
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
Fantastisk!
Completion rate forbedret til 3.33
Velge Egenskapene
Sveip for å vise menyen
Når du arbeider med mange funksjoner, vet du ofte ikke hvilke som er viktige. Du kan trene en modell med alle funksjonene, undersøke hvilke som ikke bidrar, og deretter trene modellen på nytt med kun de mest betydningsfulle.
Hvorfor fjerne funksjoner fra modellen?
Å legge til en funksjon som ikke er relatert til målet, introduserer støy og forverrer prediksjonene. Mange unyttige funksjoner øker støyen og reduserer modellens kvalitet ytterligere.
Hvordan vite om funksjonene er gode eller dårlige?
For å vurdere om funksjonene har betydelig innvirkning på målet, kan vi beregne p-verdier for hver funksjon. En lav p-verdi antyder at funksjonen er statistisk signifikant.
1234567891011121314151617import pandas as pd from sklearn.feature_selection import f_regression 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) X, y = df[['Father', 'Mother']], df['Height'] # f_regression returns F-statistic and p-values f_stat, p_values = f_regression(X, y) # Create a DataFrame to view results nicely results = pd.DataFrame({ 'Feature': X.columns, 'p_value': p_values }) print(results)
Kort sagt, jo lavere p-verdi, desto høyere tillit til at egenskapen har betydning. Vanligvis anses en p-verdi mindre enn 0,05 som statistisk signifikant.
I eksempelet ovenfor:
Father: (ekstremt liten, svært signifikant)Mother: (veldig liten, svært signifikant)
Begge egenskapene er gode prediktorer for målet.
I statistikk setter vi et signifikansnivå, vanligvis 0,05. Hvis en egenskaps p-verdi overstiger denne terskelen, anses den som ikke betydningsfull.
I praksis kan litt høyere p-verdier (rett over 0,05) fortsatt være nyttige for modellen. Det er tryggere å teste modellen både med og uten en slik variabel. Men hvis p-verdien er svært høy (>0,4), kan du trygt fjerne den.
p-verdien 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 Mother's height og konstant på 0.087 og 0.051. Hvis vi fjerner variabler med p-verdi > 0.05, får vi resultatet under (til venstre).
Selv visuelt kan vi se at modellen med konstant (til høyre) er bedre, så det er best å ikke fjerne den fra modellen.
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 innflytelsesrike 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 oppretter du et nytt OLS-objekt ved å bruke oppdatert X_tilde:
regression_model=sm.OLS(y, X_tilde)
1. Hvilke av egenskapene bør beholdes?
2. Velg den FEILAKTIGE påstanden.
Takk for tilbakemeldingene dine!