Multivariate (polynomielle) Best-Fit-Kurve in Python?

Wie berechnet man eine Best-Fit-Linie in Python und zeichnet sie dann auf einem Streudiagramm in Matplotlib?

Ich habe die lineare Best-Fit-Linie mit der Regression der kleinsten Quadrate wie folgt berechnet:

from sklearn import linear_model
clf = linear_model.LinearRegression()
x = [[t.x1,t.x2,t.x3,t.x4,t.x5] for t in self.trainingTexts]
y = [t.human_rating for t in self.trainingTexts]
clf.fit(x,y)
regress_coefs = clf.coef_
regress_intercept = clf.intercept_      

Dies ist multivariat (es gibt viele x-Werte für jeden Fall). X ist also eine Liste von Listen, und y ist eine einzelne Liste. Zum Beispiel:

x = [[1,2,3,4,5], [2,2,4,4,5], [2,2,4,4,1]] 
y = [1,2,3,4,5]

Aber wie mache ich das mit Polynomfunktionen höherer Ordnung? Zum Beispiel nicht nur linear (x hoch M = 1), sondern binomial (x hoch M = 2), quadratisch (x hoch M = 4) und so weiter. Wie erhalte ich beispielsweise die besten Anpassungskurven aus den folgenden Informationen?

Auszug aus Christopher Bishops "Mustererkennung und maschinelles Lernen", S.7:

Antworten auf die Frage(1)

Ihre Antwort auf die Frage