Matrici sparse di Scipy

Matrici sparse di Scipy
Scipy -Scantific Python- La biblioteca Python più comunemente usata per funzioni matematiche e statistiche. La Biblioteca Scipy ci offre una varietà di funzioni utili che possono essere implementate nei programmi Python. Le matrici sparse sono una delle funzioni più semplici e semplici della libreria Scipy che viene utilizzata per creare una matrice CSR in un programma Python. Abbiamo progettato questo articolo per dimostrare il funzionamento di matrici sparse della biblioteca Scipy con l'aiuto di esempi e codici semplici. Segui l'articolo con noi e scopri come è possibile creare la matrice CSR utilizzando le matrici sparse di Scipy.

Cosa sono i dati sparsi?

Prima di passare a spiegare come utilizzare la funzione delle matrici sparse in un programma Python, facciamo capire quali sono i dati sparsi. È preferibile comprendere le basi prima di passare alla funzione effettiva. I dati sparsi sono una sorta di dati che sono principalmente composti da elementi inutili. Articoli inutili significano dati che non portano alcuna informazione. In parole semplici, una serie di dati sparsi conterrà principalmente zeri. Le matrici sparse sono molto comuni nell'assunzione di derivati ​​nell'algebra lineare mentre lavorano con la programmazione scientifica.

Quali sono le matrici sparse di Scipy?

La libreria Scipy del linguaggio di programmazione Python fornisce un pacchetto sparso che viene utilizzato per gestire dati sparsi. Il pacchetto sparso offre due metodi da utilizzare con le matrici e sono CSC e CSR. Il CSC rappresenta una colonna sparsa compressa che taglia le colonne delle matrici. D'altra parte, il metodo CSR sta per la riga sparsa compressa che taglia le righe delle matrici e calcola rapidamente il prodotto vettoriale della matrice. Comprendiamo il funzionamento di entrambi i metodi attraverso esempi.

Esempio 1:

Cominciamo con un semplice esempio per comprendere le matrici sparse e i metodi matric CSR e CSC della funzione delle matrici sparse fornite dalla libreria Scipy. Qui, stiamo fornendo un esempio molto semplice, solo per mostrarti come funziona Scipy per matrici sparse. Le matrici scarse sono molto forti rispetto alle matrici normali in quanto richiedono meno tempo di calcolo e richiedono anche meno memoria in quanto devono solo archiviare alcuni elementi diversi da zero. In questo esempio, useremo la funzione CSR con l'array numpy. Vedere il codice specificato nello snippet sottostante:

Prima.Il pacchetto sparsi è incluso per importare la funzione CSR_MATRIX nel programma. Un array di 9 elementi contenenti solo 3 elementi diversi da zero viene dichiarato e passato alla funzione CSR_Matrix. Il risultato è mostrato nel terminale con l'aiuto del comando print (). Vedi il risultato calcolato da SCR_Matrix di seguito:

Dato che avevamo 3 elementi diversi da zero a 0, 1 e 7 posizioni, la CSR_Matrix ha restituito la posizione (x, y) degli articoli diversi da zero nell'array insieme agli oggetti diversi da zero. Ecco come il metodo CSR_Matrix di Scipy.Il pacchetto sparso funziona.

Esempio 2:

In precedenza, abbiamo visto un esempio di base del metodo CSR_Matric. Codiamo qualcosa di complesso in modo da poter avere una migliore comprensione della funzione. In questo esempio, stiamo di nuovo spiegando il metodo CSR_Matric ma con un esempio un po 'più complesso rispetto al precedente. Vedi il codice indicato nello snippet di seguito:

Ancora una volta, in primo luogo, abbiamo importato la biblioteca Numpy come NP nel programma e The Scipy.Il pacchetto sparsi viene utilizzato per importare CSR_MATRIX. Sono dichiarati due array per riga e colonna e un altro array di dati viene dichiarato per la creazione della matrice. Per la parte dei dati di CSR_MATRIX, vengono passati l'array di dati, riga e Col. Per il tipo di dati parte della matrice CSR, (3, 3) è stato fornito. Usando il comando di stampa, il risultato è stato mostrato sul terminale. Vedere l'output calcolato dalla funzione CSR_Matrix di seguito:

Esempio 3:

Finora abbiamo esplorato e cercato di capire le funzioni CSR_Matrix per matrici sparse. Qui, spiegheremo la funzione CSC_Matrix per le matrici sparse. Useremo la stessa linea di codici che abbiamo fatto nell'esempio precedente solo per mostrarti la chiara differenza nel funzionamento di CSC_Matrix e CSR_MATRIX. Vediamo come funziona il CSC_Matrix quando applicato all'array utilizzato nel primo esempio:

Come puoi osservare, tutte le righe di codice sono uguali, così come i dati, solo la funzione CSR_Matric viene sostituita con la funzione CSC_Matrix. Ora, vediamo il risultato della funzione indicata nello screenshot di seguito:

Come puoi vedere, abbiamo ottenuto lo stesso risultato qui come abbiamo fatto nel primo esempio. Il CSC_Matrix ha anche restituito la posizione di tutti i valori diversi da zero sotto forma di una combinazione (x, y). L'array ha 1, 2, 2 a 0, 1 e 7 posizioni, e che viene restituito dalla funzione CSC_Matrix.

Esempio 4:

Ora, repliciamo il secondo esempio e sostituiamo la funzione CSR_MATRIX con CSC_Matrix.

Come puoi notare chiaramente che il codice è esattamente lo stesso utilizzato nell'esempio precedente, l'unica modifica qui è la funzione CSR_Matrix sostituita con la funzione CSC_Matrix. Ora vediamo se il risultato è cambiato o meno. L'output è riportato nello screenshot qui sotto, dai un'occhiata:

Come si vede nell'output, il risultato è lo stesso sia per CSR_Matrix che per CSC_Matrix.

Conclusione

Questo articolo è una rapida panoramica delle matrici sparse di Scipy. Abbiamo esplorato che i dati sparsi sono una sorta di dati che hanno principalmente zeri o tipi di dati inutilizzati. I dati inutilizzati sono qualcosa che non trasmette informazioni significative. Le matrici sparse di Scipy in Python sono più utilizzate nella programmazione scientifica. Le matrici sparse della libreria Scipy offrono due metodi, CSR_MATRIX e CSC_Matrix. La funzione CSR_MATRIX viene utilizzata per lo affetto di riga e la funzione CSC_MATRIX viene utilizzata per la taglio della colonna di una matrice. Gli esempi dati possono essere usati per capire come le funzioni CSR_Matrix e CSC_Matrix funzionano in un programma Python.