Numpy najmniej kwadraty

Numpy najmniej kwadraty
Dzisiaj dowiemy się o najmniejszych kwadratach w równaniach liniowych i jak zaimplementować metodę najmniejszego kwadratu dla najlepszego dopasowania do linii regresji w dostarczonych zestawach danych. Ale wcześniej zdobądźmy podstawową wiedzę o Numpy. Numpy jest jednym z najlepszych matematycznych pakietów Pythona, który świadczy usługi dla macierzy wielowymiarowych i macierzy wraz z szeroką gamą złożonych operacji numerycznych, które można wykonać na tych macierzach/tablicach.

Jedna z metod Pythona lstsq () jest używana do znalezienia linii regresji znanego równania liniowego AX = B, która najlepiej pasuje do tego równania. Oznacza to, że musisz określić linię, która prawidłowo pokazuje związek między punktami x i y, jeśli twoje dane wskazują, że istnieje. Linia między obiema punktami jest znana jako linia regresji, gdy jest używana do znalezienia najmniejszego kwadratu przez to równanie, ax = b.

Składnia:

Zacznijmy uczyć się stylu wdrażania Linalg.Funkcja LSTSQ (). Najpierw piszemy nazwę biblioteki, której używamy w Pythonie, który jest „Numpy”. Następnie łączymy funkcję Linalg () i łączymy funkcję LSTSQ (). Funkcja Linalg () oznacza algebrę liniową. Jest zawsze używany z funkcją LSTSQ (), ponieważ jest to liniowa ekspresja algebraiczna. Następnie przekazujemy argumenty w nawiasach funkcyjnych.

Parametry:

Zrozumiemy parametry Linalga.Funkcja LSTSQ ():

Point1: Jest to matryca współczynnika.

Point2: Ta macierz lub tablica zawiera zmienne zależne.

Rcond: Jego danych jest float. Stosunek RCond służy jako odcięcie dla mniejszych liczby osobliwych Point_1. Jeśli wartość liczba pojedyncza jest mniejsza niż Rcond razy największy pojedynczy element Point_1, jest uważana za zerową przy określaniu rangi.

Wartość zwracana:

W zamian otrzymujemy najmniej kwadrat znanej zmiennej x w równaniu AX = B.

Przykład 1:

Zacznijmy wdrażać nasz pierwszy przykład metody najmniejszej kwadratowej biblioteki Python, Numpy. Najpierw potrzebujemy kompilatora Pythona, abyśmy mogli w nim kodować. Otwórz kompilator. Musisz także zainstalować bibliotekę Numpy, ponieważ używamy jednej z funkcji Numpy, która jest funkcją LSTSQ (). Następnie musisz zaimportować pakiet Numpy w nim. Najpierw napisz słowo kluczowe „import”, które mówi kompilatorowi, że zamierzamy zaimportować pakiet. Następnie musimy napisać nazwę pakietu, której używamy w funkcji, która jest „Numpy”. A potem piszemy również alternatywną nazwę Numpy „NP”, ponieważ wielu programistów używa tego podejścia. To dobre podejście do programowania i oszczędza czas.

Po zaimportowaniu pakietu zaczynamy pisać rzeczywisty wiersz kodu, który chcemy zrobić. Najpierw drukujemy wiadomości, aby użytkownik mógł łatwo zrozumieć, co robimy w przykładzie za pomocą instrukcji print (). Tworzymy jednowymiarową tablicę „A” za pomocą funkcji array (), a następnie drukujemy ją, wywołując instrukcję print (). Następnie tworzymy kolejną jednowymiarową tablicę „B” za pomocą funkcji array () i drukujemy ją za pomocą funkcji print ().

importować Numpy jako NP
Drukuj („Wdrożenie metody najmniejszych kwadratów w Numpy:”)
A = NP.tablica ([1,2,1,1,1,2,2,1,1])
wydruku („\ n the tablic a to:”, a)
B = NP.tablica ([4,3,5,4,2,3,6,3,2]))
Drukuj („\ n the tablica B to:”, B)
X = np.Linalg.LSTSQ (NP.vstack ([a, np.One (len (a))]).T, b, rcond = brak) [0]
Drukuj („\ n najmniejszy kwadrat to:”, x)

Po utworzeniu zarówno punktów A i B, wdrażamy funkcję LSTSQ (). Ale najpierw używamy funkcji vstack () do układania elementów „a”, pod względem sekwencji. Następnie przyjmujemy Transpose tablicy „A”. Następnie przekazujemy funkcję vstack () jako pierwszy argument funkcji LSTSQ (). Drugim argumentem jest tablica „B”, a trzecim argumentem jest „Rcond”, w którym ustawiamy wartość RCond jako „Brak”. Następnie przechowujemy całą funkcję w innej tablicy o nazwie „x”, która pokazuje, że jest to znane równanie liniowe, ax = b. Następnie wyświetlamy wyniki, abyśmy używali do tego instrukcji print () i przekazujemy w nim tablicę „x”.

Przykład 2:

Teraz zacznijmy wdrażać kolejny przykład Numpy Tomet Squares. Zawsze importujemy bibliotekę, której używamy w programie, który jest Numpy. Najpierw piszemy słowo kluczowe „import”, aby uzyskać pakiet w programie. Piszemy również nazwę pakietu, jaką jest „Numpy”, a następnie jego pseudonim „NP”. Następnie wywołujemy metodę print (), abyśmy mogli wyświetlić przekaz retabilny najmniejszych kwadratów w celu lepszego zrozumienia użytkownika.

Następnie tworzymy nazwę tablicy „x_axis” i przechowujemy w niej tablicę za pomocą funkcji arange (). Następnie drukujemy go za pomocą metody print (). Następnie tworzymy kolejną nazwę tablicy „y_axis” i przechowujemy w niej tablicę, którą stworzyliśmy na następującej ilustracji.

Po utworzeniu obu tablic implementujemy metodę one () na tablicy x_axis i przechowujemy ją w innej tablicy o nazwie „array_a”. A potem drukujemy również tę tablicę. Tworzymy inną tablicę o nazwie „arg_reg_line” i wdrażamy Linalg.Funkcja LSTSQ (). Następnie przekazujemy parametry do tej funkcji, abyśmy mogli uzyskać najmniej kwadratów między dwiema tablicami lub punktami. Pierwszym parametrem jest to, że przyjmujemy Transpose of Array_a. Drugi parametr jest drugim punktem, którym jest Y_Axis. Następnie mamy „rcond”, który zawiera wartość „brak”. Następnie wyświetlamy tablicę za pomocą metody print ().

importować Numpy jako NP
Drukuj („Wdrożenie Linalg.lstsq () funkcja: ")
x_axis = np.Arange (0, 10)
Drukuj („\ n Wartość osi x to:”, X_AXIS)
y_axis = [10.3, 10.5, 11, 11.5, 13.2, 13.9, 14, 15.5, 16.6, 17]
wydruku („\ n wartość osi y to:”, y_axis)
array_a = np.tablica ([x_axis, NP.te (10)])
drukuj („\ n the tablica to: \ n”, array_a)
arg_reg_line = np.Linalg.LSTSQ (Array_a.T, y_axis, rcond = brak) [0]
drukuj („\ n Parametry linii regulowanej to:”, arg_reg_line)
reg_line = arg_reg_line [0] * x_axis + arg_reg_line [1]
importować matplotlib.Pyplot as Plt
plt.Wykres (x_axis, reg_line, „r-”)
plt.Wykres (x_axis, y_axis, „o”)
plt.Tytuł („Linia regresji liniowej”)
plt.xlabel („osi x”)
plt.YLABEL („Oś y”)
plt.pokazywać()

Oto dane wyjściowe previoulsy-implementowanego przykładu:

Importujemy kolejny pakiet Numpy, który jest pakietem „matplotlib”, który służy do wykreślania wykresu. Następnie wykreślamy wartości x_axis i wartości y_axis_. Następnie ustawiamy tytuł i etykiety wykresu. Na koniec wyświetlamy wykres za pomocą metody show ().

Oto pożądany wykres podanego przykładu:

Wniosek

W tym artykule dowiedzieliśmy się, co jest najmniej kwadratowe i jak otrzymujemy Linalg.LSTSQ () nieznanej zmiennej x przy użyciu równania liniowego AX = B. Użyliśmy wielu funkcji Numpy, aby znaleźć najmniejszych kwadratów i wdrożyliśmy kilka przykładów ze szczegółowymi wyjaśnieniami w celu lepszego zrozumienia użytkownika.