Numpy minimi quadrati

Numpy minimi quadrati
Oggi impareremo i minimi quadrati nelle equazioni lineari e su come implementare il metodo meno quadrato per la misura migliore per la linea di regressione nei set di dati forniti. Ma prima, otteniamo la conoscenza di base di Numpy. Numpy è uno dei migliori pacchetti matematici di Python che fornisce servizi per array e matrici multidimensionali insieme a una vasta gamma di operazioni numeriche complesse che possono essere eseguite su queste matrici/array.

Uno dei metodi di Python LSTSQ () è usato per trovare la linea di regressione dell'equazione lineare nota ax = b che si adatta meglio a questa equazione. Ciò significa che devi determinare la linea che mostra correttamente la relazione tra i punti x e y se i tuoi dati indicano che ce n'è uno. La linea tra i due punti è nota come linea di regressione quando viene utilizzata per trovare il minimo quadrato attraverso questa equazione, ax = b.

Sintassi:

Iniziamo a imparare lo stile di implementazione di Linalg.funzione lstsq (). Innanzitutto, scriviamo il nome della biblioteca che usiamo in Python che è "numpy". Quindi, concateniamo la funzione Linalg () e concateniamo la funzione LSTSQ (). La funzione Linalg () significa algebra lineare. Viene sempre usato con la funzione LSTSQ () perché è un'espressione algebrica lineare. Dopo questo, passiamo gli argomenti tra le staffe di funzione.

Parametri:

Comprendiamo i parametri di Linalg.funzione lstsq ():

Punto1: È la matrice del coefficiente.

Punto2: Questa matrice o array contiene variabili dipendenti.

RCOND: Il tipo di dati è float. Il rapporto RCond funge da taglio per valori singolari più piccoli di Point_1. Se un valore singolare è inferiore ai tempi di RCOND il più grande elemento singolare di Point_1, è considerato zero quando si determina il grado.

Valore di ritorno:

In cambio, otteniamo il minimo quadrato della variabile nota x nell'equazione ax = b.

Esempio 1:

Iniziamo a implementare il nostro primo esempio di un metodo meno quadrato della biblioteca Python, Numpy. Innanzitutto, abbiamo bisogno di un compilatore Python in modo che possiamo codificare. Apri il compilatore. È inoltre necessario installare la libreria numpy perché stiamo usando una delle funzioni di Numpy che è la funzione LSTSQ (). Quindi, devi importare il pacchetto numpy in esso. Innanzitutto, scrivi la parola chiave "importazione" che dice al compilatore che importemo il pacchetto. Quindi, dobbiamo scrivere il nome del pacchetto che utilizziamo nella funzione che è "numpy". E poi, scriviamo anche il nome alternativo del "NP" numpy perché molti programmatori usano questo approccio. Questo è un buon approccio di programmazione e risparmia tempo.

Dopo aver importato il pacchetto, iniziamo a scrivere la riga di codice effettiva che vogliamo fare. Stampiamo prima i messaggi in modo che l'utente possa facilmente capire cosa stiamo facendo nell'esempio utilizzando l'istruzione Print (). Creiamo l'array monodimensionale “A” utilizzando la funzione Array () e quindi lo stampiamo chiamando l'istruzione Print (). Quindi, creiamo un altro array unidimensionale “B” utilizzando la funzione array () e la stampati usando la funzione print ().

Importa Numpy come NP
Print ("Implementazione del metodo meno quadrato in numpy:")
A = np.Array ([1,2,1,1,1,2,2,1,1])
print ("\ nthe array a is:", a)
B = np.Array ([4,3,5,4,2,3,6,3,2])
print ("\ nthe Array B è:", b)
X = np.linalg.LSTSQ (NP.vstack ([a, np.quelli (len (a))]).T, b, rcond = nessuno) [0]
print ("\ n the minimo quadrato è:", x)

Dopo la creazione di entrambi i punti A e B, implementiamo la funzione LSTSQ (). Ma prima, utilizziamo la funzione Vstack () per impilare gli elementi di "A", per quanto riguarda la sequenza. Quindi, prendiamo la trasposizione dell'array "A". Quindi, passiamo la funzione Vstack () come il primo argomento della funzione LSTSQ (). Il secondo argomento è l'array "b" e il terzo argomento è "rcond" in cui impostiamo il valore di rcond come "nessuno". Quindi, archiviamo l'intera funzione in un altro array chiamato "X" che mostra che è l'equazione lineare variabile nota, ax = B. Dopo questo, visualizziamo i risultati in modo da utilizzare l'istruzione print () per questo e passiamo l'array "x" in esso.

Esempio 2:

Ora, iniziamo a implementare un altro esempio di minimi quadrati. Importiamo sempre prima la libreria che utilizziamo nel programma che è numpy. Innanzitutto, scriviamo la parola chiave "importazione" per ottenere il pacchetto nel programma. Scriviamo anche il nome del pacchetto che è "numpy" e poi il suo alias, "NP". Quindi, chiamiamo il metodo Print () in modo da poter visualizzare il messaggio retabile dei minimi quadrati per una migliore comprensione dell'utente.

Quindi, creiamo il nome dell'array "x_axis" e memorizziamo l'array utilizzando la funzione Arange (). Quindi, lo stampiamo utilizzando il metodo Print (). Quindi, creiamo un altro nome di array "y_axis" e archiviamo l'array che abbiamo creato nella seguente illustrazione.

Dopo aver creato entrambi gli array, implementiamo il metodo One () sull'array X_AXIS e lo memorizziamo in un altro array chiamato "Array_A". E poi, stampiamo anche questo array. Creiamo un altro array chiamato "arg_reg_line" e implementiamo un linalg.funzione lstsq () su di esso. Quindi, passiamo i parametri a questa funzione in modo da poter ottenere i minimi quadrati tra due array o punti. Il primo parametro è che prendiamo la trasposizione di Array_A. Il secondo parametro è il secondo punto che è Y_AXIS. Quindi, abbiamo "rcond" che contiene il valore "nessuno". Quindi visualizziamo l'array utilizzando il metodo Print ().

Importa Numpy come NP
Stampa ("Implementazione di Linalg.funzione lstsq (): ")
x_axis = np.Arange (0, 10)
print ("\ nthe Value of X Axis sono:", x_axis)
y_axis = [10.3, 10.5, 11, 11.5, 13.2, 13.9, 14, 15.5, 16.6, 17]
print ("\ nthe Value of Y Axis sono:", Y_AXIS)
array_a = np.array ([x_axis, np.quelli (10)])
print ("\ nthe array è: \ n", array_a)
arg_reg_line = np.linalg.LSTSQ (Array_A.T, y_axis, rcond = nessuno) [0]
print ("\ nthe i parametri della linea di registro sono:", arg_reg_line)
reg_line = arg_reg_line [0] * x_axis + arg_reg_line [1]
Importa matplotlib.Pyplot come Plt
Plt.Plot (x_axis, reg_line, 'r-')
Plt.Plot (x_axis, y_axis, 'o')
Plt.Titolo ("linea di regressione lineare")
Plt.XLabel ("X-Axis")
Plt.Ylabel ("Asse Y")
Plt.spettacolo()

Ecco l'output dell'esempio implementato in prevalenza:

Importiamo un altro pacchetto di numpy che è il pacchetto "matplotlib" che viene utilizzato per tracciare il grafico. Quindi, tracciamo i valori X_AXIS e Y_AXIS_VALUES. Successivamente, impostiamo il titolo e le etichette del grafico. Infine, visualizziamo il grafico usando il metodo show ().

Ecco il grafico desiderato dell'esempio dato:

Conclusione

In questo articolo, abbiamo imparato qual è il meno quadrato e come otteniamo il linalg.lstsq () della variabile sconosciuta x usando l'equazione lineare ax = b. Abbiamo usato molteplici funzioni di Numpy per trovare i minimi quadrati e implementato alcuni esempi con spiegazioni dettagliate per una migliore comprensione dell'utente.