Haaste: Asuntojen Hintojen Ennustaminen
Seuraavaksi rakennat esimerkin regressiomallista todellisessa maailmassa. Sinulla on tiedosto, houses_simple.csv
, joka sisältää tietoa asuntojen hinnoista ja pinta-alasta ominaisuutena.
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/houses_simple.csv') print(df.head())
Seuraava vaihe on muuttujien määrittäminen ja aineiston visualisointi:
import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/houses_simple.csv') X = df['square_feet'] y = df['price'] plt.scatter(X, y, alpha=0.5) plt.show()
Esimerkissä henkilön pituudesta oli paljon helpompi kuvitella viiva, joka sopii hyvin dataan.
Nyt kuitenkin datassamme on huomattavasti enemmän vaihtelua, koska kohdearvo riippuu monista muista tekijöistä, kuten iästä, sijainnista, sisustuksesta jne.
Tehtävänä on kuitenkin rakentaa viiva, joka parhaiten kuvaa käytettävissä olevaa dataa; se osoittaa trendin. Tätä varten tulisi käyttää OLS
-luokkaa. Pian opimme, miten lisäominaisuuksia voidaan ottaa mukaan, mikä parantaa ennustetta!
Swipe to start coding
- Aseta
'price'
-datandf
-sarake muuttujaany
. - Luo
X_tilde
-matriisi käyttämälläadd_constant()
-kirjaston (tuotu nimellästatsmodels
)sm
-funktiota. - Alusta
OLS
-olio ja kouluta se. - Esikäsittele
X_new
-taulukko samalla tavalla kuinX
. - Ennusta kohdearvo
X_new_tilde
-matriisille.
Ratkaisu
Kiitos palautteestasi!