Erstellung Einer Linearen Regression Mit Statsmodels
Aufbau eines linearen Regressionsmodells
In statsmodels kann die OLS-Klasse verwendet werden, um ein lineares Regressionsmodell zu erstellen.
Zunächst muss ein Objekt der OLS-Klasse initialisiert werden mit
sm.OLS(y, X_tilde).
Anschließend erfolgt das Trainieren mit der Methode fit().
model = sm.OLS(y, X_tilde)
model = model.fit()
Dies ist äquivalent zu:
model = sm.OLS(y, X_tilde).fit()
Der Konstruktor der OLS-Klasse erwartet ein bestimmtes Array X_tilde als Eingabe, wie bereits in der Normalengleichung gezeigt. Daher muss das X-Array in X_tilde umgewandelt werden. Dies ist mit der Funktion sm.add_constant() möglich.
Parameterermittlung
Nach dem Trainieren des Modells können die Parameter einfach über das Attribut params abgerufen werden.
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)
Vorhersagen erstellen
Neue Instanzen können einfach mit der Methode predict() vorhergesagt werden, jedoch muss auch für diese die Eingabe vorverarbeitet werden:
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))
Zusammenfassung abrufen
Wie Sie wahrscheinlich bemerkt haben, ist die Verwendung der OLS-Klasse nicht so einfach wie die Funktion polyfit(). Die Nutzung von OLS bietet jedoch Vorteile. Während des Trainings werden zahlreiche statistische Informationen berechnet. Auf diese Informationen kann mit der Methode summary() zugegriffen werden.
1print(model.summary())
Das sind viele Statistiken. Die wichtigsten Teile der Tabelle werden wir in späteren Abschnitten besprechen.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 5.26
Erstellung Einer Linearen Regression Mit Statsmodels
Swipe um das Menü anzuzeigen
Aufbau eines linearen Regressionsmodells
In statsmodels kann die OLS-Klasse verwendet werden, um ein lineares Regressionsmodell zu erstellen.
Zunächst muss ein Objekt der OLS-Klasse initialisiert werden mit
sm.OLS(y, X_tilde).
Anschließend erfolgt das Trainieren mit der Methode fit().
model = sm.OLS(y, X_tilde)
model = model.fit()
Dies ist äquivalent zu:
model = sm.OLS(y, X_tilde).fit()
Der Konstruktor der OLS-Klasse erwartet ein bestimmtes Array X_tilde als Eingabe, wie bereits in der Normalengleichung gezeigt. Daher muss das X-Array in X_tilde umgewandelt werden. Dies ist mit der Funktion sm.add_constant() möglich.
Parameterermittlung
Nach dem Trainieren des Modells können die Parameter einfach über das Attribut params abgerufen werden.
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)
Vorhersagen erstellen
Neue Instanzen können einfach mit der Methode predict() vorhergesagt werden, jedoch muss auch für diese die Eingabe vorverarbeitet werden:
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))
Zusammenfassung abrufen
Wie Sie wahrscheinlich bemerkt haben, ist die Verwendung der OLS-Klasse nicht so einfach wie die Funktion polyfit(). Die Nutzung von OLS bietet jedoch Vorteile. Während des Trainings werden zahlreiche statistische Informationen berechnet. Auf diese Informationen kann mit der Methode summary() zugegriffen werden.
1print(model.summary())
Das sind viele Statistiken. Die wichtigsten Teile der Tabelle werden wir in späteren Abschnitten besprechen.
Danke für Ihr Feedback!