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.
Eerst moet een OLS-klasseobject worden geïnitialiseerd met
sm.OLS(y, X_tilde).
Vervolgens wordt het getraind 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 we zagen in de Normale Vergelijking. Je moet dus je X-array omzetten naar X_tilde. Dit kan worden gedaan met de functie sm.add_constant().
Parameters vinden
Wanneer het model is getraind, kun je eenvoudig de parameters benaderen 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 ook hiervoor moet je de invoer preprocessen:
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))
De samenvatting opvragen
Zoals je waarschijnlijk hebt gemerkt, is het gebruik van de OLS-klasse niet zo eenvoudig als de functie polyfit(). Maar het gebruik van OLS heeft zijn voordelen. Tijdens het trainen berekent het veel statistische informatie. Je kunt deze informatie opvragen met de methode summary().
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.