- Wie Lineare Regression nur mit Polynom n-ten Grades statt Gerade
Wobei die Gewichte sind
mit
from sklearn.preprocessing
import PolynomialFeatures
pf = PolynomialFeatures(degree=2) #Erzeugen des Objekts mit dem Grad des Polynom
pf.fit(x_train) #Bestimmung der Anzahl der zu berechnenden Features
x_train_transformed = pf.transform(x_train) #Transformieren der Daten
x_test_transformed = pf.transform(x_test)
poly_regr = LinearRegression()
poly_regr.fit(x_train_transformed, y_train)
r2_score = poly_regr.score(x_test_transformed, y_test)
print(f"R2-Score: {r2_score}")Wahl des Grades
Wie bei knn mit den k-nΓ€chsten Nachbarn dient hier der Grad des Polynoms als Faktor, der beeinflusst werden kann. D.h. je nach Grad kann die Lineare Regression besser aber auch schnell sehr viel schlechter werden. Vergleicht man ein Polynom 2-Grades mit einem Vektor mit einem Feature bzw. mit zwei Feature erkennt man relativ schnell, wie schnell die Feature Anzahl ansteigt: 1-Featureβ3-Feature 2-Feature β 6-Feature Ein Polynom 10-Grades ist deswegen nicht besser. Allgemein hΓ€ngt die Wahl des Grades wieder vom Datensatz ab und muss er testet werden