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

Erstellung der Polynomialen Regression

Swipe um das Menü anzuzeigen

Datei laden

Wir laden poly.csv und überprüfen sie:

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())

Anschließend Visualisierung der Beziehung:

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

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

Aufbau der X̃-Matrix

Um zu erstellen, können 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)
PolynomialFeaturesClass

Fügt außerdem die konstante Spalte hinzu, daher ist kein sm.add_constant() erforderlich.

Falls X eindimensional ist, Umwandlung wie folgt:

X = X.reshape(-1, 1)

Aufbau der Polynomialen Regression

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 müssen 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()

Verschiedene Werte für n ausprobieren, 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.

n456f4
question mark

Betrachten Sie den folgenden Code. In welchem Fall läuft der Code fehlerfrei durch?

Wählen Sie die richtige Antwort aus

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

Erstellung der Polynomialen Regression

Datei laden

Wir laden poly.csv und überprüfen sie:

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())

Anschließend Visualisierung der Beziehung:

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

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

Aufbau der X̃-Matrix

Um zu erstellen, können 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)
PolynomialFeaturesClass

Fügt außerdem die konstante Spalte hinzu, daher ist kein sm.add_constant() erforderlich.

Falls X eindimensional ist, Umwandlung wie folgt:

X = X.reshape(-1, 1)

Aufbau der Polynomialen Regression

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 müssen 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()

Verschiedene Werte für n ausprobieren, 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.

n456f4
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
some-alt