In einem Buch mit habe ich den folgenden Code gefunden, die eine Lineare Regression zu quadratischen Daten passt:Montage einen höheren Grad Funktion PolynomialFeatures und Lineare Regression
m = 100
X = 6 * np.random.rand(m, 1) - 3
y = 0.5 * X**2 + X + 2 + np.random.randn(m, 1)
poly_features = PolynomialFeatures(degree=2, include_bias=False)
X_poly = poly_features.fit_transform(X)
lin_reg = LinearRegression()
lin_reg.fit(X_poly, y)
Aber wie konnte das sein? Ich weiß aus den documentation dass PolynomialFeatures(degree=2, include_bias=False)
ein Array schafft, die wie folgt aussieht:
[[X[0],X[0]**2]
[X[1],X[1]**2]
.....
[X[n],X[n]**2]]
ABER: Wie ist die Lineare Regression der Lage, passen diese Daten? Bedeutet WAS ist die LinearRegression und was ist das Konzept dahinter?
Ich bin dankbar für jede Erklärung!
Ok danke. Nehmen wir nun an, die LinearRegression-Funktion hat die optimalen Parameter mit a = 1, b = 2 und c = 3 gefunden, als die Funktion für die erste Zeile: y = 3x ** 2 + 2x + 1. Und nun?? 1. Was macht die LinearRegression, weil diese Funktion nicht linear ist? 2. Wenn die LinearRegression dies für jede Zeile im Array tut, ist es richtig, dass in einem * m Array n lineare Regressionen berechnet werden ? Und 3. Ich verstehe immer noch nicht, wie eine lineare Regression eine gekrümmte Form bekommen kann ??? – 2Obe
@ 2Beachte meine aktualisierte Antwort. –
Zusätzliche Funktion bedeutet eine zusätzliche Achse richtig? So könnte die LinearRegressionskurve in einem zweidimensionalen Koordinatensystem wie eine Kurve aussehen, aber tatsächlich ist es immer noch eine gerade Linie, aber in einem höheren dimensionalen Raum? – 2Obe