Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Polynomisen Regressiomallin Rakentaminen | Polynominen Regressio
Quizzes & Challenges
Quizzes
Challenges
/
Lineaarinen Regressio Pythonilla

bookPolynomisen Regressiomallin Rakentaminen

Tiedoston lataaminen

Ladataan poly.csv ja tarkastellaan sitä:

1234
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/poly.csv' df = pd.read_csv(file_link) print(df.head())
copy

Seuraavaksi visualisoidaan riippuvuus:

12345
import matplotlib.pyplot as plt X = df['Feature'] y = df['Target'] plt.scatter(X, y) plt.show()
copy

Suora viiva ei sovi hyvin, joten polynomiregressio on sopivampi.

X̃-matriisin rakentaminen

voidaan luoda lisäämällä neliöidyt piirteet manuaalisesti:

df['Feature_squared'] = df['Feature'] ** 2

Korkeamman asteen tapauksissa PolynomialFeatures on helpompi. Se vaatii kaksiulotteisen rakenteen:

from sklearn.preprocessing import PolynomialFeatures
X = df[['Feature']]
poly = PolynomialFeatures(n)
X_tilde = poly.fit_transform(X)

Lisää myös vakion sarakkeen, joten sm.add_constant() ei ole tarpeen.

Jos X on yksidimensioinen, muunna se:

X = X.reshape(-1, 1)

Polynomiregression rakentaminen

import statsmodels.api as sm
y = df['Target']
X = df[['Feature']]
X_tilde = PolynomialFeatures(n).fit_transform(X)
model = sm.OLS(y, X_tilde).fit()

Ennustaminen vaatii uuden datan muuntamisen samalla tavalla:

X_new_tilde = PolynomialFeatures(n).fit_transform(X_new)
y_pred = model.predict(X_new_tilde)

Kattava esimerkki

123456789101112131415161718
import pandas as pd, numpy as np, matplotlib.pyplot as plt import statsmodels.api as sm from sklearn.preprocessing import PolynomialFeatures df = pd.read_csv(file_link) n = 2 X = df[['Feature']] y = df['Target'] X_tilde = PolynomialFeatures(n).fit_transform(X) model = sm.OLS(y, X_tilde).fit() X_new = np.linspace(-0.1, 1.5, 80).reshape(-1,1) X_new_tilde = PolynomialFeatures(n).fit_transform(X_new) y_pred = model.predict(X_new_tilde) plt.scatter(X, y) plt.plot(X_new, y_pred) plt.show()
copy

Kokeile eri n arvoja nähdäksesi, miten käyrä muuttuu ja miten ennusteet käyttäytyvät alkuperäisen ominaisuusalueen ulkopuolella—tämä johdattaa seuraavaan lukuun.

question mark

Tarkastele seuraavaa koodia. Missä tapauksessa koodi suoritetaan ilman virheitä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Awesome!

Completion rate improved to 5.26

bookPolynomisen Regressiomallin Rakentaminen

Pyyhkäise näyttääksesi valikon

Tiedoston lataaminen

Ladataan poly.csv ja tarkastellaan sitä:

1234
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/poly.csv' df = pd.read_csv(file_link) print(df.head())
copy

Seuraavaksi visualisoidaan riippuvuus:

12345
import matplotlib.pyplot as plt X = df['Feature'] y = df['Target'] plt.scatter(X, y) plt.show()
copy

Suora viiva ei sovi hyvin, joten polynomiregressio on sopivampi.

X̃-matriisin rakentaminen

voidaan luoda lisäämällä neliöidyt piirteet manuaalisesti:

df['Feature_squared'] = df['Feature'] ** 2

Korkeamman asteen tapauksissa PolynomialFeatures on helpompi. Se vaatii kaksiulotteisen rakenteen:

from sklearn.preprocessing import PolynomialFeatures
X = df[['Feature']]
poly = PolynomialFeatures(n)
X_tilde = poly.fit_transform(X)

Lisää myös vakion sarakkeen, joten sm.add_constant() ei ole tarpeen.

Jos X on yksidimensioinen, muunna se:

X = X.reshape(-1, 1)

Polynomiregression rakentaminen

import statsmodels.api as sm
y = df['Target']
X = df[['Feature']]
X_tilde = PolynomialFeatures(n).fit_transform(X)
model = sm.OLS(y, X_tilde).fit()

Ennustaminen vaatii uuden datan muuntamisen samalla tavalla:

X_new_tilde = PolynomialFeatures(n).fit_transform(X_new)
y_pred = model.predict(X_new_tilde)

Kattava esimerkki

123456789101112131415161718
import pandas as pd, numpy as np, matplotlib.pyplot as plt import statsmodels.api as sm from sklearn.preprocessing import PolynomialFeatures df = pd.read_csv(file_link) n = 2 X = df[['Feature']] y = df['Target'] X_tilde = PolynomialFeatures(n).fit_transform(X) model = sm.OLS(y, X_tilde).fit() X_new = np.linspace(-0.1, 1.5, 80).reshape(-1,1) X_new_tilde = PolynomialFeatures(n).fit_transform(X_new) y_pred = model.predict(X_new_tilde) plt.scatter(X, y) plt.plot(X_new, y_pred) plt.show()
copy

Kokeile eri n arvoja nähdäksesi, miten käyrä muuttuu ja miten ennusteet käyttäytyvät alkuperäisen ominaisuusalueen ulkopuolella—tämä johdattaa seuraavaan lukuun.

question mark

Tarkastele seuraavaa koodia. Missä tapauksessa koodi suoritetaan ilman virheitä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3
some-alt