Seite 1 von 1
Frage zu numpy.linalg.lstsq
Verfasst: Mittwoch 27. Juli 2011, 12:26
von smith0815
Hi
Wie der Titel schon verrät, tüftle ich gerade an numpy.linalg.lstsq.
Erwartet hatte ich, bei einer Eingabe von
x = [[1,1],[2,2],[3,3],[4,4]]
y = [1,2,3,4]
als Winkelhalbierende eines 3D Koordinatensystems,
die Werte für m = 1 und n = 0 raus zu bekommen (bei der Formel mx + n)
Nur sehen die Werte die ich bekomme ganz anders aus
(array([ 8.10792259e-17, 1.00000000e+00]),
array([ 0.]),
2,
array([ 7.74596669e+00, 9.42055475e-16]))
Kann mir das einer erklären?
Re: Frage zu numpy.linalg.lstsq
Verfasst: Mittwoch 27. Juli 2011, 12:53
von CM
Hint: Ist 8e-17 eine große Zahl?
edit: PS Der Algorithmus ist iterativ (wahrscheinlich Levenberg-Marquardt - aber da bin ich gerade zu faul, zum nachschauen). D. h. in diesem Fall, daß rcond vorgibt, wie "genau" Dein Ergebnis sein wird, bzw. bei den Defaulteinstellungen, wie genau Dein System arbeiten kann.
edit: PPS Ist das jetzt, was Du verwendest für Dein letztes großes Fittingproblem?
Re: Frage zu numpy.linalg.lstsq
Verfasst: Mittwoch 27. Juli 2011, 14:35
von smith0815
zu PPS:
als erstes ja, denn es soll eine einfache Regressionsgrade liefern.
Für die Sachen höherer Ordnung nehme ich neuronale Netze und SVMs,
die sind zum einen einfacher zu kalibrieren und außerdem genauer.
Die sind aber schon fertig programmiert.
Nur das Einfachste fällt mir immer am schwersten so auch jetzt.
Re: Frage zu numpy.linalg.lstsq
Verfasst: Mittwoch 27. Juli 2011, 15:09
von CM

SVMs und Neuronale Netze, haben doch nichts mit dem Fitting zu tun, was in
diesem Thread angesprochen war?
Also, wenn doch, ist es kein Wunder, daß wir Dich nicht verstanden haben. Und in jedem Fall solltest Du - ich will wirklich nicht besserwisserisch klingen - daran arbeiten Dein Problem besser zu beschreiben, damit man Dir besser helfen kann.
Und Klassifikation mit Hilfe linearer Regression mag funktionieren, aber ist wahrscheinlich eher gefährlich.
Gruß,
Christian
Re: Frage zu numpy.linalg.lstsq
Verfasst: Mittwoch 27. Juli 2011, 18:36
von smith0815
OK da hast du wohl recht,
denn wenn du glaubst, dass es meiner Großen Aufgabe um Klassifikation ging,
ist bei meiner Erklärung wirklich einiges falsch gelaufen.
Denn es ging um Regression, nicht um Klassifikation.
Re: Frage zu numpy.linalg.lstsq
Verfasst: Donnerstag 28. Juli 2011, 08:01
von CM
Nee, sorry. Da habe ich mich fehlerhaft ausgedrückt: Natürlich kann man SVMs und neuronale Netze zur Regression verwenden. Aber dennoch vermute ich, daß bei Dir ein analytisches Herangehen simpler und stabiler wäre. Aber das kann man (ich) wohl eher nicht im Forum angehen.