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

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

HyvätHuonotPiirteet

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.

Miten tunnistaa, ovatko piirteet hyviä vai huonoja?

OLS tarjoaa tilastollisia testejä koulutuksen aikana. Jokaiselle piirteelle annetaan t-testi, joka näkyy summary()-taulukossa ja osoittaa, vaikuttaako se 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

Kiinnostuksen kohteena on jokaisen piirteen p-arvo.

p-arvot

Lyhyesti: mitä pienempi p-arvo, sitä suurempi varmuus siitä, että muuttuja on merkittävä

p-arvojen esimerkki

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 turvallisempaa testata mallia sekä kyseisen muuttujan kanssa että ilman sitä. Jos p-arvo on kuitenkin hyvin korkea (>0,4), sen voi 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 muuttujat, joiden p-arvo on > 0.05, saamme alla olevan tuloksen (vasemmalla).

Mallien vertailu

Jo visuaalisesti voidaan todeta, että malli, jossa on vakio (oikealla), on parempi, joten sitä ei kannata poistaa mallista.

Note
Huomio

Pienet tietoaineistot tuottavat usein korkeampia p-arvoja (0,05–0,2) jopa merkityksellisille muuttujille. P-arvot kuvaavat luottamusta: suuremmalla tietomäärällä on helpompi erottaa aidosti vaikuttavat muuttujat satunnaisista.

Kuinka poistaa huonot muuttujat?

Tarvitsee vain poistaa muuttujaan liittyvä sarake X_tilde:sta. Tämä onnistuu seuraavalla koodilla:

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

Esimerkiksi, jos haluat poistaa sarakkeet 'const' ja 'Mother', käytä seuraavaa:

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

Ja sitten luodaan uusi OLS-objekti 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ÄÄ?

Valitse kaikki oikeat vastaukset

question mark

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

Valitse oikea vastaus

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

Osio 2. Luku 4
some-alt