Berechnung der multivariaten linearen regression mit numpy
1 - Mit A = np.array([x1,x2,x3]) gearbeitet, um den Fehler zu beheben in Wie ich den plot der linearen regression.
Also habe ich beschlossen, erhöhen Sie die Anzahl der Elemente in x1,x2 und x3 und weiter verwenden, z.B. in Wie ich den plot der linearen regression, und jetzt bekomme ich die Fehlermeldung
"ValueError: zu viele Werte packen". Numpy kann die Berechnung nicht mit so vielen zahlen?
>>> x1 = np.array([3,2,2,3,4,5,6,7,8])
>>> x2 = np.array([2,1,4.2,1,1.5,2.3,3,6,9])
>>> x3 = np.array([6,5,8,9,7,0,1,2,1])
>>> y = np.random.random(3)
>>> A = np.array([x1,x2,x3])
>>> m,c = np.linalg.lstsq(A,y)[0]
Traceback (most recent call last):
File "testNumpy.py", line 18, in <module>
m,c = np.linalg.lstsq(A,y)[0]
ValueError: too many values to unpack
2 - ich auch gegenüber meiner version mit der man definiert in Multiple lineare regression mit python. Welches ist das richtige? Warum verwenden Sie die transpose-in diesem Beispiel?
Dank,
- Post gesamten Fragen bitte. Wenn Ihr andere Frage ist, entfernt, gibt es keine Spur, was bist du eigentlich zu erreichen versuchst
- Der Fehler kommt nicht von NumPy. Python zeigt es Ihnen, dass
np.linalg.lstsq(A,y)[0]
ist wieder mehr als die beiden Werte (m, c
), die Sie erwarten. - Wenn die geposteten Antwort auf Ihre Vorherige Frage fixiert, das gestellte problem in diese Frage, würden Sie gut tun, um die Antwort akzeptieren. Im Laufe der Zeit werden Sie feststellen, dass die Menschen Ihnen helfen weniger, wenn Sie sich nicht bedanken oder sonst anerkennen Ihre Bemühungen (und es lässt auch andere wissen nicht, Zeit zu verschwenden zu versuchen, um herauszufinden, ob die Antworten ausreichend sind).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entpacken der Fehler kommt nicht von NumPy es kommt aus, die Sie versuchen zu entpacken sind zwei Werte aus dem Aufruf der Funktion, wenn nur eine zurückgegeben wird, BEACHTEN Sie die
[0]
am Ende der Zeileim Vergleich zu
Sehen die numpy docs, dem ersten array sind die Koeffizienten der Variablen. Ich denke, die Verwirrung ist hier eine variable im Vergleich zu einer Beobachtung. Sie haben derzeit drei Beobachtungen, und neun Variablen. Die
A.T
stellt sich die Variablen in Beobachtungen und Umgekehrt.