Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Ominaisuuksien Valinta | Monimuuttujainen Lineaarinen Regressio
Lineaarinen Regressio Pythonilla

bookOminaisuuksien 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.

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

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.

Note
Huomio

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.

Note
Huomio

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ä.

question mark

Mitkä ominaisuuksista tulisi SÄILYTTÄÄ?

Select the correct answer

question mark

Valitse VÄÄRÄ väittämä.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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

bookOminaisuuksien 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.

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

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.

Note
Huomio

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.

Note
Huomio

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ä.

question mark

Mitkä ominaisuuksista tulisi SÄILYTTÄÄ?

Select the correct answer

question mark

Valitse VÄÄRÄ väittämä.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 4
some-alt