Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Erstellung der Polynomialregression | Polynomiale Regression
Quizzes & Challenges
Quizzes
Challenges
/
Lineare Regression mit Python

bookErstellung der Polynomialregression

Datei laden

Die Datei poly.csv wird geladen und überprüft:

1234
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/poly.csv' df = pd.read_csv(file_link) print(df.head())
copy

Anschließend wird die Beziehung visualisiert:

12345
import matplotlib.pyplot as plt X = df['Feature'] y = df['Target'] plt.scatter(X, y) plt.show()
copy

Eine Gerade passt schlecht, daher ist die Polynomregression besser geeignet.

Aufbau der X̃-Matrix

Um zu erstellen, könnten quadratische Merkmale manuell hinzugefügt werden:

df['Feature_squared'] = df['Feature'] ** 2

Für höhere Grade ist PolynomialFeatures jedoch einfacher. Es erfordert eine 2D-Struktur:

from sklearn.preprocessing import PolynomialFeatures
X = df[['Feature']]
poly = PolynomialFeatures(n)
X_tilde = poly.fit_transform(X)

Es wird außerdem die Konstante Spalte hinzugefügt, daher ist kein sm.add_constant() erforderlich.

Falls X eindimensional ist, Umwandlung wie folgt:

X = X.reshape(-1, 1)

Aufbau der Polynomialregression

import statsmodels.api as sm
y = df['Target']
X = df[['Feature']]
X_tilde = PolynomialFeatures(n).fit_transform(X)
model = sm.OLS(y, X_tilde).fit()

Für Vorhersagen muss neue Daten auf die gleiche Weise transformiert werden:

X_new_tilde = PolynomialFeatures(n).fit_transform(X_new)
y_pred = model.predict(X_new_tilde)

Vollständiges Beispiel

123456789101112131415161718
import pandas as pd, numpy as np, matplotlib.pyplot as plt import statsmodels.api as sm from sklearn.preprocessing import PolynomialFeatures df = pd.read_csv(file_link) n = 2 X = df[['Feature']] y = df['Target'] X_tilde = PolynomialFeatures(n).fit_transform(X) model = sm.OLS(y, X_tilde).fit() X_new = np.linspace(-0.1, 1.5, 80).reshape(-1,1) X_new_tilde = PolynomialFeatures(n).fit_transform(X_new) y_pred = model.predict(X_new_tilde) plt.scatter(X, y) plt.plot(X_new, y_pred) plt.show()
copy

Probiere verschiedene Werte für n aus, um zu sehen, wie sich die Kurve verändert und wie sich die Vorhersagen außerhalb des ursprünglichen Merkmalsbereichs verhalten—dies führt zum nächsten Kapitel.

question mark

Betrachte den folgenden Code. In welchem Fall läuft der Code fehlerfrei?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 5.26

bookErstellung der Polynomialregression

Swipe um das Menü anzuzeigen

Datei laden

Die Datei poly.csv wird geladen und überprüft:

1234
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/poly.csv' df = pd.read_csv(file_link) print(df.head())
copy

Anschließend wird die Beziehung visualisiert:

12345
import matplotlib.pyplot as plt X = df['Feature'] y = df['Target'] plt.scatter(X, y) plt.show()
copy

Eine Gerade passt schlecht, daher ist die Polynomregression besser geeignet.

Aufbau der X̃-Matrix

Um zu erstellen, könnten quadratische Merkmale manuell hinzugefügt werden:

df['Feature_squared'] = df['Feature'] ** 2

Für höhere Grade ist PolynomialFeatures jedoch einfacher. Es erfordert eine 2D-Struktur:

from sklearn.preprocessing import PolynomialFeatures
X = df[['Feature']]
poly = PolynomialFeatures(n)
X_tilde = poly.fit_transform(X)

Es wird außerdem die Konstante Spalte hinzugefügt, daher ist kein sm.add_constant() erforderlich.

Falls X eindimensional ist, Umwandlung wie folgt:

X = X.reshape(-1, 1)

Aufbau der Polynomialregression

import statsmodels.api as sm
y = df['Target']
X = df[['Feature']]
X_tilde = PolynomialFeatures(n).fit_transform(X)
model = sm.OLS(y, X_tilde).fit()

Für Vorhersagen muss neue Daten auf die gleiche Weise transformiert werden:

X_new_tilde = PolynomialFeatures(n).fit_transform(X_new)
y_pred = model.predict(X_new_tilde)

Vollständiges Beispiel

123456789101112131415161718
import pandas as pd, numpy as np, matplotlib.pyplot as plt import statsmodels.api as sm from sklearn.preprocessing import PolynomialFeatures df = pd.read_csv(file_link) n = 2 X = df[['Feature']] y = df['Target'] X_tilde = PolynomialFeatures(n).fit_transform(X) model = sm.OLS(y, X_tilde).fit() X_new = np.linspace(-0.1, 1.5, 80).reshape(-1,1) X_new_tilde = PolynomialFeatures(n).fit_transform(X_new) y_pred = model.predict(X_new_tilde) plt.scatter(X, y) plt.plot(X_new, y_pred) plt.show()
copy

Probiere verschiedene Werte für n aus, um zu sehen, wie sich die Kurve verändert und wie sich die Vorhersagen außerhalb des ursprünglichen Merkmalsbereichs verhalten—dies führt zum nächsten Kapitel.

question mark

Betrachte den folgenden Code. In welchem Fall läuft der Code fehlerfrei?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
some-alt