Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Polynomiale Regressie Opbouwen | Polynomiale Regressie
Quizzes & Challenges
Quizzes
Challenges
/
Lineaire Regressie met Python

bookPolynomiale Regressie Opbouwen

Bestand laden

We laden poly.csv en inspecteren het:

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

Vervolgens de relatie visualiseren:

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

Een rechte lijn past slecht, daarom is polynomiale regressie geschikter.

X̃-matrix opbouwen

Voor het creëren van kunnen kwadratische kenmerken handmatig worden toegevoegd:

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

Voor hogere graden is PolynomialFeatures echter eenvoudiger. Dit vereist een 2D-structuur:

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

Voegt ook de constante kolom toe, dus sm.add_constant() is niet nodig.

Indien X eendimensionaal is, omzetten:

X = X.reshape(-1, 1)

Opbouwen van de polynomiale regressie

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()

Voor voorspellen moet nieuwe data op dezelfde manier worden getransformeerd:

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

Volledig voorbeeld

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

Probeer verschillende waarden voor n om te zien hoe de kromme verandert en hoe voorspellingen zich gedragen buiten het oorspronkelijke bereik van de feature—dit vormt de opmaat naar het volgende hoofdstuk.

question mark

Bekijk de volgende code. In welk geval zal de code zonder fouten worden uitgevoerd?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 5.26

bookPolynomiale Regressie Opbouwen

Veeg om het menu te tonen

Bestand laden

We laden poly.csv en inspecteren het:

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

Vervolgens de relatie visualiseren:

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

Een rechte lijn past slecht, daarom is polynomiale regressie geschikter.

X̃-matrix opbouwen

Voor het creëren van kunnen kwadratische kenmerken handmatig worden toegevoegd:

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

Voor hogere graden is PolynomialFeatures echter eenvoudiger. Dit vereist een 2D-structuur:

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

Voegt ook de constante kolom toe, dus sm.add_constant() is niet nodig.

Indien X eendimensionaal is, omzetten:

X = X.reshape(-1, 1)

Opbouwen van de polynomiale regressie

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()

Voor voorspellen moet nieuwe data op dezelfde manier worden getransformeerd:

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

Volledig voorbeeld

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

Probeer verschillende waarden voor n om te zien hoe de kromme verandert en hoe voorspellingen zich gedragen buiten het oorspronkelijke bereik van de feature—dit vormt de opmaat naar het volgende hoofdstuk.

question mark

Bekijk de volgende code. In welk geval zal de code zonder fouten worden uitgevoerd?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 3
some-alt