Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Lineaire Regressie Bouwen met Statsmodels | Eenvoudige Lineaire Regressie
Lineaire Regressie met Python

bookLineaire Regressie Bouwen met Statsmodels

Een lineair regressiemodel bouwen

In statsmodels kan de OLS-klasse worden gebruikt om een lineair regressiemodel te maken.

We moeten eerst een object van de OLS-klasse initialiseren met sm.OLS(y, X_tilde). Vervolgens trainen met de fit()-methode.

model = sm.OLS(y, X_tilde)
model = model.fit()

Dit is gelijk aan:

model = sm.OLS(y, X_tilde).fit()
Note
Opmerking

De constructor van de OLS-klasse verwacht een specifieke array X_tilde als invoer, zoals gezien bij de Normale Vergelijking. Daarom moet de X-array worden omgezet naar X_tilde. Dit kan met de functie sm.add_constant().

Parameters vinden

Wanneer het model is getraind, zijn de parameters eenvoudig toegankelijk via het attribuut params.

123456789
import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
copy

Voorspellingen maken

Nieuwe instanties kunnen eenvoudig worden voorspeld met de methode predict(), maar de invoer moet hiervoor ook worden voorbewerkt:

12345
import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
copy

Samenvatting verkrijgen

Zoals je waarschijnlijk hebt gemerkt, is het gebruik van de OLS-klasse minder eenvoudig dan de polyfit()-functie. Het gebruik van OLS biedt echter voordelen. Tijdens het trainen berekent het veel statistische informatie. Deze informatie is toegankelijk via de summary()-methode.

1
print(model.summary())
copy

Dat zijn veel statistieken. We bespreken de belangrijkste onderdelen van de tabel in latere secties.

question mark

Kies de ONJUISTE uitspraak.

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 4

Vraag AI

expand

Vraag AI

ChatGPT

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

Suggested prompts:

Can you explain what the `add_constant` function does?

What do the values of `beta_0` and `beta_1` represent in this context?

How do I interpret the output of the `summary()` method?

Awesome!

Completion rate improved to 5.26

bookLineaire Regressie Bouwen met Statsmodels

Veeg om het menu te tonen

Een lineair regressiemodel bouwen

In statsmodels kan de OLS-klasse worden gebruikt om een lineair regressiemodel te maken.

We moeten eerst een object van de OLS-klasse initialiseren met sm.OLS(y, X_tilde). Vervolgens trainen met de fit()-methode.

model = sm.OLS(y, X_tilde)
model = model.fit()

Dit is gelijk aan:

model = sm.OLS(y, X_tilde).fit()
Note
Opmerking

De constructor van de OLS-klasse verwacht een specifieke array X_tilde als invoer, zoals gezien bij de Normale Vergelijking. Daarom moet de X-array worden omgezet naar X_tilde. Dit kan met de functie sm.add_constant().

Parameters vinden

Wanneer het model is getraind, zijn de parameters eenvoudig toegankelijk via het attribuut params.

123456789
import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
copy

Voorspellingen maken

Nieuwe instanties kunnen eenvoudig worden voorspeld met de methode predict(), maar de invoer moet hiervoor ook worden voorbewerkt:

12345
import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
copy

Samenvatting verkrijgen

Zoals je waarschijnlijk hebt gemerkt, is het gebruik van de OLS-klasse minder eenvoudig dan de polyfit()-functie. Het gebruik van OLS biedt echter voordelen. Tijdens het trainen berekent het veel statistische informatie. Deze informatie is toegankelijk via de summary()-methode.

1
print(model.summary())
copy

Dat zijn veel statistieken. We bespreken de belangrijkste onderdelen van de tabel in latere secties.

question mark

Kies de ONJUISTE uitspraak.

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 4
some-alt