Numpy kleinste Quadrate

Numpy kleinste Quadrate
Heute erfahren wir die geringsten Quadrate in linearen Gleichungen und die Implementierung der am wenigsten quadratischen Methode für die beste Passform für die Regressionslinie in den bereitgestellten Datensätzen. Aber vorher erhalten wir das Grundkenntnis von Numpy. Numpy ist eines der besten mathematischen Pythonpakete, die Dienste für mehrdimensionale Arrays und Matrizen sowie eine Vielzahl von komplexen numerischen Operationen anbieten, die an diesen Matrizen/Arrays durchgeführt werden können.

Eine der Methoden von Python LSTSQ () ist verwendet. Dies bedeutet. Die Linie zwischen beiden Punkten wird als Regressionslinie bezeichnet, wenn sie verwendet wird, um das kleinste Quadrat durch diese Gleichung zu finden, AX = B.

Syntax:

Lassen Sie uns den Implementierungsstil des Linalgs lernen.LSTSQ () -Funktion. Zunächst schreiben wir den Bibliotheksnamen, den wir in Python verwenden, der „Numpy“ ist. Dann verkettet wir die Funktion Linalg () und verkettet die Funktion LSTSQ (). Die Funktion linalg () bedeutet lineare Algebra. Es wird immer mit der Funktion LSTSQ () verwendet, da es sich um einen linearen algebraischen Ausdruck handelt. Danach vergeben wir die Argumente in den Funktionsklammern.

Parameter:

Verstehen wir die Parameter des Linalgs.LSTSQ () -Funktion:

Punkt 1: Es ist die Koeffizientenmatrix.

Punkt2: Diese Matrix oder Array enthält abhängige Variablen.

rcond: Der Datenatyp ist float. Das RCond-Verhältnis dient als Grenzwert für kleinere Singularwerte von Point_1. Wenn ein singulärer Wert geringer ist als die RCond -Zeiten das größte singuläre Element von Point_1, wird er bei der Bestimmung des Rangs als Null angesehen.

Rückgabewert:

Im Gegenzug erhalten wir das am wenigsten Quadrat bekannte Variable x in der Gleichung ax = b.

Beispiel 1:

Lassen Sie uns unser erstes Beispiel für eine kleinste Quadratmethode der Python Library, Numpy, implementieren. Erstens brauchen wir einen Python -Compiler, damit wir darin codieren können. Öffnen Sie den Compiler. Sie müssen auch die Numpy -Bibliothek installieren, da wir eine der Funktionen von Numpy verwenden, die die Funktion LSTSQ () ist. Dann müssen Sie das Numpy -Paket darin importieren. Schreiben Sie zunächst das Schlüsselwort "Import", das dem Compiler mitteilt, dass wir das Paket importieren werden. Dann müssen wir den Paketnamen schreiben, den wir in der Funktion verwenden, die „Numpy“ ist. Und dann schreiben wir auch den alternativen Namen des numpy „NP“, weil viele Programmierer diesen Ansatz verwenden. Dies ist ein guter Programmieransatz und spart Zeit.

Nach dem Import des Pakets schreiben wir die tatsächliche Codezeile, die wir tun möchten. Wir drucken zuerst die Nachrichten, damit der Benutzer leicht verstehen kann, was wir im Beispiel mit der Anweisung print (). Wir erstellen das eindimensionale Array „A“ mit der Funktion array () und drucken sie dann durch die Aufrufe der Print () -Antage. Anschließend erstellen wir ein weiteres eindimensionales Array „B“ mit der Funktion array () und drucken sie mit der Funktion print () aus.

Numph als NP importieren
Print ("Implementierung der kleinsten Quadratmethode in Numpy:")
A = np.Array ([1,2,1,1,1,2,2,1,1])
print ("\ nthe Array a ist:", a)
B = NP.Array ([4,3,5,4,2,3,6,3,2])
print ("\ nDie Array B ist:", B)
X = np.Linalg.LSTSQ (NP.vstack ([a, np.Einen (Len (a)])).T, b, rcond = keine) [0]
print ("\ nDie das kleinste Quadrat ist:", x)

Nach der Erstellung beider Punkte A und B implementieren wir die Funktion LSTSQ (). Aber zuerst verwenden wir die Funktion vstack (), um die Elemente von „A“, Sequenz, zu stapeln. Dann nehmen wir die Übertragung von Array "A" ein. Dann bestehen wir die Funktion vstack () als erstes Argument der Funktion LSTSQ (). Das zweite Argument ist das "B" -Array und das dritte Argument ist "RCond", in dem wir den Wert von RCond als "keine" festlegen, als "keine". Dann speichern wir die gesamte Funktion in einem anderen Array mit dem Namen "X", das zeigt, dass es sich um die bekannte variable lineare Gleichung Ax = B handelt. Danach zeigen wir die Ergebnisse an, damit wir die Print () -Schürtung dafür verwenden und das "X" -Array darin übergeben.

Beispiel 2:

Lassen Sie uns nun mit der Implementierung eines weiteren Beispiels für Numpy -kleinste Quadrate beginnen. Wir importieren immer zuerst die Bibliothek, die wir in dem Programm verwenden, das numpy ist. Zunächst schreiben wir das Schlüsselwort „Import“, um das Paket in das Programm zu erhalten. Wir schreiben auch den Paketnamen, der „Numpy“ und dann seinen Alias ​​„NP“ ist. Dann nennen wir die Print ().

Anschließend erstellen wir den Array -Namen "x_axis" und speichern das Array darin mit der Funktion arange (). Dann drucken wir es mit der Print () -Methode aus. Dann erstellen wir einen weiteren Array -Namen "y_axis" und speichern das Array, das wir in der folgenden Abbildung erstellt haben.

Nachdem wir beide Arrays erstellt haben, implementieren wir die Methode der One () im X_AXIS -Array und speichern sie in einem anderen Array mit dem Namen "Array_A" in einem anderen Array mit dem Namen "Array_A". Und dann drucken wir dieses Array auch aus. Wir erstellen ein anderes Array mit dem Namen "arg_reg_line" und implementieren einen Linalg.LSTSQ () -Funktion darauf. Dann übergeben wir die Parameter an diese Funktion, damit wir die geringsten Quadrate zwischen zwei Arrays oder Punkten erhalten können. Der erste Parameter ist, dass wir die Transponierung von Array_A nehmen. Der zweite Parameter ist der zweite Punkt, der die y_axis ist. Dann haben wir "rcond", das den Wert "None" enthält. Anschließend zeigen wir das Array mit der Print () -Methode an.

Numph als NP importieren
drucken ("Implementierung von Linalg.LSTSQ () Funktion: ")
x_axis = np.Arange (0, 10)
print ("\ n der Wert der x -Achse sind:", x_axis)
y_axis = [10.3, 10.5, 11, 11.5, 13.2, 13.9, 14, 15.5, 16.6, 17]
print ("\ n der Wert der y -Achse sind:", y_axis)
Array_a = np.Array ([x_axis, np.Einen (10)])
print ("\ nThe Array ist: \ n", array_a)
arg_reg_line = np.Linalg.LSTSQ (Array_A.T, y_axis, rcond = keine) [0]
print ("\ nDie Parameter der BedarfSsion Line sind:", arg_reg_line)
reg_line = arg_reg_line [0] * x_axis + arg_reg_line [1]
Matplotlib importieren.Pyplot als PLT
PLT.Plot (x_axis, reg_line, 'r-')
PLT.plot (x_axis, y_axis, 'o')
PLT.Titel ("Lineare Regressionslinie")
PLT.Xlabel ("X-Achse")
PLT.Ylabel ("Y-Achse")
PLT.zeigen()

Hier ist die Ausgabe des previoulsy-implementierten Beispiels:

Wir importieren ein weiteres Paket von Numpy, das das „Matplotlib“ -Paket ist, mit dem das Diagramm zeichnet. Dann zeichnen wir die x_axis -Werte und y_axis_values ​​auf. Als nächstes setzen wir den Titel und die Etiketten des Diagramms. Zuletzt zeigen wir das Diagramm mit der Methode show () an.

Hier ist die gewünschte Grafik des angegebenen Beispiels:

Abschluss

In diesem Artikel haben wir gelernt, was am wenigsten Quadrat ist und wie wir den Linalg bekommen.LSTSQ () der unbekannten Variablen x unter Verwendung der linearen Gleichung AX = B. Wir haben mehrere Funktionen von Numpy verwendet, um die geringsten Quadrate zu finden, und einige Beispiele mit detaillierten Erklärungen für ein besseres Verständnis des Benutzers implementiert.