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?
Frage zu numpy.linalg.lstsq
Code: Alles auswählen
>>> import numpy
>>> help(numpy.linalg.lstsq)
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?
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.
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.
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
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
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.