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.
Geweldig!
Completion tarief verbeterd naar 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!