Scipy sparsomme matriser

Scipy sparsomme matriser
Scipy -Scientific Python- Det mest brukte Python -biblioteket for matematiske og statistiske funksjoner. Scipy Library tilbyr oss en rekke nyttige funksjoner som kan implementeres i Python -programmer. Sparsomme matriser er en av de enkleste og enkleste funksjonene i Scipy -biblioteket som brukes til å lage en CSR -matrise i et Python -program. Vi designet denne artikkelen for å demonstrere arbeidet med sparsomme matriser i Scipy -biblioteket ved hjelp av eksempler og enkle koder. Følg artikkelen med oss ​​og lær hvordan du kan opprette CSR -matrisen ved å bruke Scipy Sparse Matrices.

Hva er sparsomme data?

Før vi går videre til å forklare hvordan vi bruker den sparsomme matriserfunksjonen i et Python -program, la oss forstå hva sparsomme data er. Det er å foretrekke å forstå det grunnleggende før du går videre til selve funksjonen. Sparsomme data er en slags data som for det meste er sammensatt av ubrukelige elementer. Uløse elementer betyr data som ikke bærer noen informasjon. Med enkle ord vil en rekke sparsomme data for det meste inneholde nuller. De sparsomme matriser er veldig vanlige når det gjelder å ta derivater i lineær algebra mens du jobber med vitenskapelig programmering.

Hva er scipy sparsomme matriser?

Scipy Library of the Python -programmeringsspråket gir en sparsom pakke som brukes til å håndtere sparsomme data. Den sparsomme pakken tilbyr to metoder som skal brukes med matriser, og de er CSC og CSR. CSC står for en komprimert sparsom kolonne som skiver kolonnene i matriser. På den annen side står CSR -metoden for den komprimerte sparsomme raden som skiver radene på matriser og beregner raskt matriksvektorproduktet. La oss forstå arbeidet med begge metodene gjennom eksempler.

Eksempel 1:

La oss starte med et enkelt eksempel for å forstå sparsomme matriser og CSR og CSC matriske metoder for sparsomme matriser funksjon levert av Scipy Library. Her gir vi et veldig enkelt eksempel, bare for å vise deg hvordan Scipy fungerer for sparsomme matriser. De sparsomme matriser er veldig sterke sammenlignet med de normale matriser, da de tar mindre beregningstid og også tar mindre minne, da de bare trenger å lagre noen få ikke-null varer. I dette eksemplet vil vi bruke CSR -funksjonen med Numpy Array. Se koden som er spesifisert i utdraget under:

Fremst blir det numpy biblioteket introdusert i programmet som NP og deretter Scipy.Sparsom pakke er inkludert for å importere CSR_Matrix -funksjonen i programmet. En rekke 9 elementer som bare inneholder 3 ikke-null varer er erklært og sendt til CSR_Matrix-funksjonen. Resultatet vises på terminalen ved hjelp av PRINT () -kommandoen. Se resultatet beregnet av SCR_MATRIX nedenfor:

Siden vi hadde 3 posisjoner som ikke er null ved 0, 1 og 7 stillinger, returnerte CSR_Matrix (x, y) posisjonen til ikke-null varene i matrisen sammen med ikke-null varene selv. Slik er CSR_Matrix -metoden til Scipy.Sparsom pakke fungerer.

Eksempel 2:

Tidligere har vi sett et grunnleggende eksempel på CSR_Matric -metoden. La oss kode noe sammensatt slik at vi kan ha en bedre forståelse av funksjonen. I dette eksemplet forklarer vi igjen CSR_Matric -metoden, men med litt mer komplekst eksempel sammenlignet med det forrige. Se koden gitt i utdraget nedenfor:

Igjen, først importerte vi Numpy -biblioteket som NP i programmet og Scipy.Sparsom pakke brukes til å importere CSR_Matrix. To matriser er deklarert for rad og kolonne, og en annen dataparray er erklært for å opprette matrisen. For datadelen av CSR_Matrix blir dataene, raden og COL -arrayen bestått. For datatypen er delen av CSR_ -matrisen (3, 3) verdien gitt. Ved hjelp av utskriftskommandoen er resultatet vist over terminalen. Se utgangen beregnet av CSR_Matrix -funksjonen nedenfor:

Eksempel 3:

Så langt utforsket og prøvde vi å forstå CSR_Matrix -funksjonene for sparsomme matriser. Her vil vi forklare CSC_Matrix -funksjonen for de sparsomme matriser. Vi vil bruke den samme linjen med koder som vi gjorde i forrige eksempel bare for å vise deg den klare forskjellen i arbeidet med CSC_MATRIX og CSR_MATRIX. La oss se hvordan CSC_Matrix fungerer når det brukes på matrisen som brukes i det første eksemplet:

Som du kan observere, er alle kodelinjer de samme, så vel som dataene, bare CSR_MATRIC -funksjonen erstattes med CSC_Matrix -funksjonen. La oss nå se resultatet av funksjonen som er gitt på skjermdumpen nedenfor:

Som du ser, har vi det samme resultatet her som vi gjorde i det første eksemplet. CSC_Matrix returnerte også plasseringen av alle ikke-nullverdier i form av en (x, y) kombinasjon. Array.

Eksempel 4:

La oss nå gjenskape det andre eksemplet og erstatte CSR_Matrix -funksjonen med CSC_MATRIX.

Som du tydelig kan merke at koden er nøyaktig den samme som brukt i forrige eksempel, er den eneste endringen her. La oss nå se om resultatet har endret seg eller ikke. Utgangen er gitt på skjermbildet nedenfor, se:

Som det sees i utgangen, er resultatet det samme for både CSR_MATRIX og CSC_MATRIX.

Konklusjon

Denne artikkelen er en rask oversikt over Scipy sparsomme matriser. Vi undersøkte at sparsomme data er en slags data som for det meste har nuller eller ubrukte type data. De ubrukte dataene er noe som ikke formidler noen meningsfull informasjon. Scipy sparsomme matriser i Python er mest brukt i vitenskapelig programmering. De sparsomme matriser i Scipy -biblioteket tilbyr to metoder, CSR_MATRIX og CSC_MATRIX. CSR_MATRIX -funksjonen brukes til radskiver og CSC_Matrix -funksjonen brukes til kolonneskiving av en matrise. De gitte eksemplene kan brukes til å forstå hvordan CSR_MATRIX og CSC_MATRIX -funksjoner fungerer i et Python -program.