NumPy Cele mai mici pătrate

Numpy Cele Mai Mici Patrate



Astăzi, vom învăța despre cele mai mici pătrate din ecuațiile liniare și cum să implementăm metoda celor mai mici pătrate pentru cea mai bună potrivire pentru linia de regresie din seturile de date furnizate. Dar înainte de asta, să obținem cunoștințele de bază despre NumPy. NumPy este unul dintre cele mai bune pachete matematice ale Python care oferă servicii pentru matrice și matrice multidimensionale, împreună cu o gamă largă de operații numerice complexe care pot fi efectuate pe aceste matrici/matrice.

Una dintre metodele lui Python lstsq() este folosită pentru a găsi linia de regresie a ecuației liniare cunoscute ax=b care se potrivește cel mai bine cu această ecuație. Aceasta înseamnă că trebuie să determinați linia care arată corect relația dintre punctele x și y dacă datele dvs. indică faptul că există una. Linia dintre ambele puncte este cunoscută ca o dreaptă de regresie atunci când este folosită pentru a găsi cel mai mic pătrat prin această ecuație, ax=b.

Sintaxă:

Să începem să învățăm stilul de implementare al funcției linalg.lstsq(). Mai întâi, scriem numele bibliotecii pe care îl folosim în Python, care este „numpy”. Apoi, concatenăm funcția linalg() și concatenăm funcția lstsq(). Funcția linalg() înseamnă algebră liniară. Este întotdeauna folosit cu funcția lstsq() deoarece este o expresie algebrică liniară. După aceasta, trecem argumentele în parantezele funcției.









Parametri:

Să înțelegem parametrii funcției linalg.lstsq():



punctul 1: Este matricea coeficienților.





punctul 2: Această matrice sau matrice conține variabile dependente.

rcond: Tipul de date al acestuia este float. Raportul rcond servește ca limită pentru valorile singulare mai mici ale punctului_1. Dacă o valoare singulară este mai mică decât rcondul ori cel mai mare element singular al punctului_1, este considerată zero la determinarea rangului.



Valoare returnată:

În schimb, obținem cel mai mic pătrat al variabilei cunoscute x din ecuația ax=b.

Exemplul 1:

Să începem să implementăm primul nostru exemplu de metodă cu cele mai mici pătrate a bibliotecii Python, NumPy. În primul rând, avem nevoie de un compilator Python pentru a putea codifica în el. Deschideți compilatorul. De asemenea, trebuie să instalați biblioteca NumPy, deoarece folosim una dintre funcțiile lui NumPy, care este funcția lstsq(). Apoi, trebuie să importați pachetul NumPy în el. Mai întâi, scrieți cuvântul cheie „import” care îi spune compilatorului că vom importa pachetul. Apoi, trebuie să scriem numele pachetului pe care îl folosim în funcția care este „numpy”. Și apoi, scriem și numele alternativ al NumPy „np”, deoarece mulți programatori folosesc această abordare. Aceasta este o abordare bună de programare și economisește timp.

După importarea pachetului, începem să scriem linia reală de cod pe care vrem să o facem. Printăm mai întâi mesajele, astfel încât utilizatorul să poată înțelege cu ușurință ceea ce facem în exemplu folosind instrucțiunea print(). Creăm tabloul unidimensional „A” folosind funcția array() și apoi îl imprimăm apelând instrucțiunii print(). Apoi, creăm o altă matrice unidimensională „B” folosind funcția array() și o imprimăm folosind funcția print().

import numpy la fel de de exemplu.

imprimare ( 'Implementarea metodei celor mai mici pătrate în NumPy: ' )

A = de exemplu. matrice ( [ 1 , Două , 1 , 1 , 1 , Două , Două , 1 , 1 ] )

imprimare ( ' \n Matricea A este: ' , A )

B = de exemplu. matrice ( [ 4 , 3 , 5 , 4 , Două , 3 , 6 , 3 , Două ] )

imprimare ( ' \n Matricea B este: ' , B )

X = de exemplu. seminte de in . lstsq ( de exemplu. vstack ( [ A , de exemplu. cele ( numai ( A ) ) ] ) . T , B , rcond = Nici unul ) [ 0 ]

imprimare ( ' \n Cel mai mic pătrat este: ' , X )

După crearea ambelor puncte A și B, implementăm funcția lstsq(). Dar mai întâi, folosim funcția vstack() pentru a stivui elementele lui „A”, secvențial. Apoi, luăm transpunerea matricei „A”. Apoi, trecem funcția vstack() ca prim argument al funcției lstsq(). Al doilea argument este matricea „B”, iar al treilea argument este „rcond” în care setăm valoarea lui rcond ca „none”. Apoi, stocăm întreaga funcție într-un alt tablou numit „x” care arată că este ecuația liniară variabilă cunoscută, ax=b. După aceasta, afișăm rezultatele, așa că folosim instrucțiunea print() pentru aceasta și trecem matricea „x” în ea.

Exemplul 2:

Acum, să începem să implementăm un alt exemplu de cele mai mici pătrate NumPy. Importăm întotdeauna prima bibliotecă pe care o folosim în programul care este NumPy. Mai întâi, scriem cuvântul cheie „import” pentru a obține pachetul în program. De asemenea, scriem numele pachetului care este „numpy” și apoi alias-ul său, „np”. Apoi, apelăm metoda print() pentru a putea afișa mesajul retable al celor mai mici pătrate pentru o mai bună înțelegere a utilizatorului.

Apoi, creăm numele matricei „x_axis” și stocăm matricea în el folosind funcția arange(). Apoi, îl imprimăm folosind metoda print(). Apoi, creăm un alt nume de matrice „y_axis” și stocăm în el matricea pe care am creat-o în următoarea ilustrație.

După crearea ambelor matrice, implementăm metoda ones() pe matricea x_axis și o stocăm într-o altă matrice numită „array_a”. Și apoi, imprimăm și această matrice. Creăm o altă matrice numită „arg_reg_line” și implementăm o funcție linalg.lstsq() pe ea. Apoi, trecem parametrii acestei funcții, astfel încât să putem obține cele mai mici pătrate dintre două tablouri sau puncte. Primul parametru este că luăm transpunerea lui array_a. Al doilea parametru este al doilea punct care este axa y. Apoi, avem „rcond” care conține valoarea „none”. Afișăm apoi matricea folosind metoda print().

import numpy la fel de de exemplu.

imprimare ( 'Implementarea funcției linalg.lstsq(): ' )

axa_x = de exemplu. arange ( 0 , 10 )

imprimare ( ' \n Valoarea axei x sunt: ​​' , axa_x )

axa_y = [ 10.3 , 10.5 , unsprezece , 11.5 , 13.2 , 13.9 , 14 , 15.5 , 16.6 , 17 ]

imprimare ( ' \n Valoarea axei y sunt: ​​' , axa_y )

array_a = de exemplu. matrice ( [ axa_x , de exemplu. cele ( 10 ) ] )

imprimare ( ' \n Matricea este: \n ' , array_a )

arg_reg_line = de exemplu. seminte de in . lstsq ( array_a. T , axa_y , rcond = Nici unul ) [ 0 ]

imprimare ( ' \n Parametrii liniei de regresie sunt: ​​' , arg_reg_line )

reg_line = arg_reg_line [ 0 ] * x_axis + arg_reg_line [ 1 ]

import matplotlib. pyplot la fel de plt

plt. complot ( axa_x , reg_line , 'r-' )

plt. complot ( axa_x , axa_y , 'O' )

plt. titlu ( „Linia de regresie liniară” )

plt. xlabel ( 'Axa X' )

plt. ylabel ( 'Axa Y' )

plt. spectacol ( )

Iată rezultatul exemplului implementat anterior:

Importăm un alt pachet de NumPy, care este pachetul „matplotlib” care este folosit pentru a reprezenta graficul. Apoi, trasăm valorile x_axis și y_axis_values. Apoi, setăm titlul și etichetele graficului. În cele din urmă, afișăm graficul folosind metoda show().

Iată graficul dorit al exemplului dat:

Concluzie

În acest articol, am învățat care este cel mai mic pătrat și cum obținem linalg.lstsq() variabilei necunoscute x folosind ecuația liniară ax=b. Am folosit mai multe funcții ale NumPy pentru a găsi cele mai mici pătrate și am implementat câteva exemple cu explicații detaliate pentru o mai bună înțelegere a utilizatorului.