Lineaire 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()
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.
123456789import 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)
Voorspellingen maken
Nieuwe instanties kunnen eenvoudig worden voorspeld met de methode predict(), maar de invoer moet hiervoor ook worden voorbewerkt:
12345import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
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.
1print(model.summary())
Dat zijn veel statistieken. We bespreken de belangrijkste onderdelen van de tabel in latere secties.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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
Lineaire 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()
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.
123456789import 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)
Voorspellingen maken
Nieuwe instanties kunnen eenvoudig worden voorspeld met de methode predict(), maar de invoer moet hiervoor ook worden voorbewerkt:
12345import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
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.
1print(model.summary())
Dat zijn veel statistieken. We bespreken de belangrijkste onderdelen van de tabel in latere secties.
Bedankt voor je feedback!