Ominaisuuksien Valinta
Kun käytössä on useita piirteitä, ei usein tiedetä, mitkä niistä ovat merkityksellisiä. Malli voidaan kouluttaa kaikilla piirteillä, tarkistaa, mitkä piirteet eivät ole hyödyllisiä, ja sitten kouluttaa uudelleen käyttäen vain vaikuttavia piirteitä.
Miksi poistaa piirteitä mallista?
Kohteeseen liittymättömän piirteen lisääminen tuo malliin kohinaa ja heikentää ennusteita. Useat hyödyttömät piirteet kasaavat kohinaa ja heikentävät mallin laatua entisestään.
Mistä tietää, ovatko piirteet hyviä vai huonoja?
OLS tarjoaa tilastollisia testejä koulutuksen aikana. Jokaiselle piirteelle annetaan t-testi, jonka tulos näkyy summary()-taulukossa ja osoittaa, vaikuttaako piirre merkittävästi kohteeseen.
123456789import 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
Meitä kiinnostaa erityisesti jokaisen ominaisuuden p-arvo.
Lyhyesti sanottuna, mitä pienempi p-arvo, sitä suurempi varmuus siitä, että ominaisuus on merkityksellinen.
Tilastotieteessä asetetaan merkitsevyystaso, yleensä 0,05. Jos muuttujan p-arvo ylittää tämän rajan, sitä ei pidetä merkittävänä.
Käytännössä hieman korkeammat p-arvot (hieman yli 0,05) voivat silti parantaa mallia. On suositeltavaa testata mallia sekä kyseisen muuttujan kanssa että ilman sitä. Jos p-arvo on kuitenkin hyvin korkea (>0,4), muuttuja voidaan poistaa luottavaisin mielin.
p-arvo vaihtelee välillä 0–1, joten kun puhumme matalasta p-arvosta, tarkoitamme alle 0,05 ja korkea p-arvo tarkoittaa yleensä yli 0,3–0,5.
Esimerkissämme saimme p-arvot äidin pituudelle ja vakiolle 0.087 ja 0.051. Jos poistamme ominaisuudet, joiden p-arvo on > 0.05, saamme alla olevan tuloksen (vasemmalla).
Jo visuaalisesti voidaan todeta, että malli vakiolla (oikealla) on parempi, joten sitä ei kannata poistaa mallista.
Pienet aineistot tuottavat usein korkeampia p-arvoja (0.05–0.2) myös merkityksellisille ominaisuuksille. P-arvot kuvaavat luottamusta: suuremmalla aineistolla on helpompi erottaa aidosti vaikuttavat ominaisuudet satunnaisista.
Kuinka poistaa huonot ominaisuudet?
Poista vain ominaisuuteen liittyvä sarake X_tilde:sta. Tämä voidaan tehdä seuraavalla koodilla:
X_tilde = X_tilde.drop(___, axis=1)
Esimerkiksi, poistaaksesi sarakkeet 'const' ja 'Mother', käytä seuraavaa:
X_tilde = X_tilde.drop(['Mother', 'const'], axis=1)
Luo tämän jälkeen uusi OLS-olio päivitetyn X_tilde:n avulla:
regression_model=sm.OLS(y, X_tilde)
1. Mitkä ominaisuuksista tulisi SÄILYTTÄÄ?
2. Valitse VÄÄRÄ väittämä.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Ominaisuuksien Valinta
Pyyhkäise näyttääksesi valikon
Kun käytössä on useita piirteitä, ei usein tiedetä, mitkä niistä ovat merkityksellisiä. Malli voidaan kouluttaa kaikilla piirteillä, tarkistaa, mitkä piirteet eivät ole hyödyllisiä, ja sitten kouluttaa uudelleen käyttäen vain vaikuttavia piirteitä.
Miksi poistaa piirteitä mallista?
Kohteeseen liittymättömän piirteen lisääminen tuo malliin kohinaa ja heikentää ennusteita. Useat hyödyttömät piirteet kasaavat kohinaa ja heikentävät mallin laatua entisestään.
Mistä tietää, ovatko piirteet hyviä vai huonoja?
OLS tarjoaa tilastollisia testejä koulutuksen aikana. Jokaiselle piirteelle annetaan t-testi, jonka tulos näkyy summary()-taulukossa ja osoittaa, vaikuttaako piirre merkittävästi kohteeseen.
123456789import 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
Meitä kiinnostaa erityisesti jokaisen ominaisuuden p-arvo.
Lyhyesti sanottuna, mitä pienempi p-arvo, sitä suurempi varmuus siitä, että ominaisuus on merkityksellinen.
Tilastotieteessä asetetaan merkitsevyystaso, yleensä 0,05. Jos muuttujan p-arvo ylittää tämän rajan, sitä ei pidetä merkittävänä.
Käytännössä hieman korkeammat p-arvot (hieman yli 0,05) voivat silti parantaa mallia. On suositeltavaa testata mallia sekä kyseisen muuttujan kanssa että ilman sitä. Jos p-arvo on kuitenkin hyvin korkea (>0,4), muuttuja voidaan poistaa luottavaisin mielin.
p-arvo vaihtelee välillä 0–1, joten kun puhumme matalasta p-arvosta, tarkoitamme alle 0,05 ja korkea p-arvo tarkoittaa yleensä yli 0,3–0,5.
Esimerkissämme saimme p-arvot äidin pituudelle ja vakiolle 0.087 ja 0.051. Jos poistamme ominaisuudet, joiden p-arvo on > 0.05, saamme alla olevan tuloksen (vasemmalla).
Jo visuaalisesti voidaan todeta, että malli vakiolla (oikealla) on parempi, joten sitä ei kannata poistaa mallista.
Pienet aineistot tuottavat usein korkeampia p-arvoja (0.05–0.2) myös merkityksellisille ominaisuuksille. P-arvot kuvaavat luottamusta: suuremmalla aineistolla on helpompi erottaa aidosti vaikuttavat ominaisuudet satunnaisista.
Kuinka poistaa huonot ominaisuudet?
Poista vain ominaisuuteen liittyvä sarake X_tilde:sta. Tämä voidaan tehdä seuraavalla koodilla:
X_tilde = X_tilde.drop(___, axis=1)
Esimerkiksi, poistaaksesi sarakkeet 'const' ja 'Mother', käytä seuraavaa:
X_tilde = X_tilde.drop(['Mother', 'const'], axis=1)
Luo tämän jälkeen uusi OLS-olio päivitetyn X_tilde:n avulla:
regression_model=sm.OLS(y, X_tilde)
1. Mitkä ominaisuuksista tulisi SÄILYTTÄÄ?
2. Valitse VÄÄRÄ väittämä.
Kiitos palautteestasi!