Wie erstelle ich eine Sparse-Matrix in Python?
In diesem Artikel zeigen wir Ihnen, was eine Sparse-Matrix ist und wie Sie eine Sparse-Matrix in Python erstellen.
Was ist eine dünn besetzte Matrix?
Eine dünn besetzte Matrix ist eine Matrix, in der die meisten Elemente 0 sind. Das heißt, die Matrix enthält Daten nur für wenige Standorte. Der größte Teil des von einer dünn besetzten Matrix belegten Speichers besteht aus Nullen.
Zum Beispiel -
M = [ [1, 0, 0, 0], [0, 0, 3, 0], [0, 0, 0, 0], [0, 0, 0, 2] ]
Die Verwendung eines 2D-Arrays zur Darstellung einer dünn besetzten Matrix verschwendet viel Speicher, da die Nullen in der Matrix in den meisten Fällen nutzlos sind. Anstatt also Null zusammen mit Nicht-Null-Elementen zu speichern, speichern wir nur Nicht-Null-Elemente. Dabei werden Tripel verwendet, um Nicht-Null-Elemente (Zeile, Spalte, Wert) zu speichern.
Natural Language Processing (NLP) und Datenkodierung nutzen beide stark besetzte Matrizen. Wenn die meisten Matrixelemente 0 sind, sind die Speicherkosten für die Speicherung aller Matrixelemente hoch.
Das liegt daran, dass wir nur wenige Datenpunkte haben und der größte Teil des Speicherplatzes durch redundante Nullen belegt ist.
Vorteile dünn besetzter Matrizen
Hier sind die beiden Hauptvorteile der Verwendung von spärlichen Matrizen anstelle einfacher Matrizen –
Speicher – Da es weniger Nicht-Null-Elemente als Null gibt, kann weniger Speicher verwendet werden, um diese Elemente einzeln zu speichern.
Rechenzeit – Rechenzeit kann gespart werden, indem logisch eine Datenstruktur erstellt wird, die nur Elemente ungleich Null durchläuft.
Wie erstelle ich eine Sparse-Matrix in Python?
ScPy in Python bietet Tools zum Erstellen dünn besetzter Matrizen unter Verwendung verschiedener Datenstrukturen und zum Konvertieren dichter Matrizen in dünn besetzte Matrizen.
In Python können wir mit der folgenden Funktion eine dünn besetzte Matrix erstellen -
csr_matrix()-Funktion – Erstellt eine dünn besetzte Matrix im komprimierten sparse row-Format,
csc_matrix()-Funktion – Erstellt eine Sparse-Matrix im komprimierten Sparse Column-Format. ,,
Methode 1. Verwenden Sie die Funktion csr_matrix(), um eine dünn besetzte Matrix zu erstellen
Es werden dünn besetzte Matrizen im komprimierten, dünn besetzten Zeilen-Format erstellt.
Grammatik
scipy.sparse.csr_matrix(shape=None, dtype=None)
Parameter
Form – es ist die Form der Matrix
dtype – Es ist der Datentyp der Matrix
Algorithmus (Schritte)
Hier sind die Algorithmen/Schritte, die befolgt werden müssen, um die erforderliche Aufgabe auszuführen -
Verwenden Sie das Schlüsselwort import, um das numpy-Modul mit einem Alias (np) zu importieren.
Verwenden Sie das Schlüsselwort import, um die Funktion csr_matrix aus dem Scipy-Modul zu importieren.
Verwenden Sie die Funktion csr_matrix(), um eine 3 * 3-Sparse-Matrix vom Datentyp int (row-Format) zu erstellen und mit der Funktion toarray() in ein Array zu konvertieren.
Drucken Sie die generierte Sparse-Matrix.
Beispiel
Das folgende Programm verwendet die Funktion csr_matrix(), um eine dünn besetzte Matrix (3x3) zurückzugeben -
# importing numpy module with an alias name import numpy as np # importing csr_matrix function from scipy module from scipy.sparse import csr_matrix # Using csr_matrix function to create a 3 * 3 sparse matrix of int datatype # and converting into array sparse_matrix = csr_matrix((3, 3), dtype = np.int8).toarray() # printing the resultant sparse matrix print("The resultant sparse matrix:\n", sparse_matrix)
Ausgabe
Bei der Ausführung generiert das obige Programm die folgende Ausgabe:
The resultant sparse matrix: [[0 0 0] [0 0 0] [0 0 0]]
Methode 2. Erstellen Sie eine dünn besetzte Matrix mit der Funktion csr_matrix() anhand eines Numpy-Arrays
Algorithmus (Schritte)
Hier sind die Algorithmen/Schritte, die befolgt werden müssen, um die erforderliche Aufgabe auszuführen -
Verwenden Sie das Schlüsselwort import, um das numpy-Modul mit einem Alias (np) zu importieren.
Verwenden Sie das Schlüsselwort import, um die Funktion csr_matrix aus dem Scipy-Modul zu importieren.
Verwenden Sie die Funktion numpy.array(), um ein Array zu erstellen (gibt ein Ndarray zurück. Ein Ndarray ist ein Array-Objekt, das die angegebenen Anforderungen erfüllt)
Beispiel
# importing numpy module with alias name import numpy as np # importing csr_matrix function from scipy module from scipy.sparse import csr_matrix # Giving rows and columns values rows = np.array([0, 1, 0, 2, 1, 1]) columns = np.array([1, 0, 0, 2, 1, 2]) # Giving array data arrayData = np.array([1, 3, 2, 5, 7, 6]) # Using csr_matrix function to create a 3x3 sparse matrix sparse_matrix = csr_matrix((arrayData, (rows, columns)), shape = (3, 3)).toarray() # print the resultant sparse matrix print("The resultant sparse matrix:\n", sparse_matrix)
Ausgabe
Bei der Ausführung generiert das obige Programm die folgende Ausgabe:
The resultant sparse matrix: [[2 1 0] [3 7 6] [0 0 5]]
Methode 3. Verwenden Sie die Funktion csc_matrix(), um eine dünn besetzte Matrix zu erstellen
Es werden spärliche Matrizen im komprimierten Sparse-Spaltenformat erstellt.
Grammatik
scipy.sparse.csc_matrix(shape=None, dtype=None)
Parameter
Form – es ist die Form der Matrix
dtype – Es ist der Datentyp der Matrix
Algorithmus
Hier sind die Algorithmen/Schritte, die befolgt werden müssen, um die erforderliche Aufgabe auszuführen -
Verwenden Sie das Schlüsselwort import, um das numpy-Modul mit einem Alias (np) zu importieren.
Verwenden Sie das Schlüsselwort import, um die Funktion csc_matrix aus dem Scipy-Modul zu importieren.
Erstellen Sie mit der Funktion csc_matrix() eine 3*3-Sparse-Matrix vom Datentyp int (columnformat) und konvertieren Sie sie mit der Funktion toarray() in ein Array.
Drucken Sie die generierte Sparse-Matrix.
Beispiel
Das folgende Programm gibt mit der Funktion csc_matrix() eine dünn besetzte Matrix (3x3) im Spaltenformat zurück -
# importing numpy module with an alias name import numpy as np # importing csc_matrix function from scipy module from scipy.sparse import csc_matrix # Using csc_matrix function to create a 3 * 3 sparse matrix of int datatype # and converting into array sparse_matrix = csc_matrix((3, 3), dtype = np.int8).toarray() # printing the resultant sparse matrix print("The resultant sparse matrix:\n", sparse_matrix)
Ausgabe
Bei der Ausführung generiert das obige Programm die folgende Ausgabe:
The resultant sparse matrix: [[0 0 0] [0 0 0] [0 0 0]]
Methode 4. Erstellen Sie eine dünn besetzte Matrix mit der Funktion csc_matrix() anhand eines Numpy-Arrays
Beispiel
Das folgende Programm verwendet die Funktion csc_matrix(), um eine dünn besetzte Matrix (3x3) im Ganzzahlspaltenformat zurückzugeben -
import numpy as np # importing csc_matrix function from scipy module from scipy.sparse import csc_matrix # Giving rows and columns values rows = np.array([0, 1, 0, 2, 1, 1]) columns = np.array([1, 0, 0, 2, 1, 2]) # Giving array data arrayData = np.array([1, 3, 2, 5, 7, 6]) # Using csc_matrix function to create a 3x3 sparse matrix in column format sparse_matrix = csc_matrix((arrayData, (rows, columns)), shape = (3, 3)).toarray() # print the resultant sparse matrix print("The resultant sparse matrix:\n", sparse_matrix)
Ausgabe
Bei der Ausführung generiert das obige Programm die folgende Ausgabe:
The resultant sparse matrix: [[2 1 0] [3 7 6] [0 0 5]]
Fazit
In diesem Tutorial haben wir vier verschiedene Möglichkeiten kennengelernt, spärliche Matrizen in Python zu generieren. Wir haben auch gelernt, wie man aus einem Numpy-Array eine dünn besetzte Matrix generiert.
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Sparse-Matrix in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

VS -Code kann unter Windows 8 ausgeführt werden, aber die Erfahrung ist möglicherweise nicht großartig. Stellen Sie zunächst sicher, dass das System auf den neuesten Patch aktualisiert wurde, und laden Sie dann das VS -Code -Installationspaket herunter, das der Systemarchitektur entspricht und sie wie aufgefordert installiert. Beachten Sie nach der Installation, dass einige Erweiterungen möglicherweise mit Windows 8 nicht kompatibel sind und nach alternativen Erweiterungen suchen oder neuere Windows -Systeme in einer virtuellen Maschine verwenden müssen. Installieren Sie die erforderlichen Erweiterungen, um zu überprüfen, ob sie ordnungsgemäß funktionieren. Obwohl VS -Code unter Windows 8 möglich ist, wird empfohlen, auf ein neueres Windows -System zu upgraden, um eine bessere Entwicklungserfahrung und Sicherheit zu erzielen.

VS -Code -Erweiterungen stellen böswillige Risiken dar, wie das Verstecken von böswilligem Code, das Ausbeutetieren von Schwachstellen und das Masturbieren als legitime Erweiterungen. Zu den Methoden zur Identifizierung böswilliger Erweiterungen gehören: Überprüfung von Verlegern, Lesen von Kommentaren, Überprüfung von Code und Installation mit Vorsicht. Zu den Sicherheitsmaßnahmen gehören auch: Sicherheitsbewusstsein, gute Gewohnheiten, regelmäßige Updates und Antivirensoftware.

VS -Code kann zum Schreiben von Python verwendet werden und bietet viele Funktionen, die es zu einem idealen Werkzeug für die Entwicklung von Python -Anwendungen machen. Sie ermöglichen es Benutzern: Installation von Python -Erweiterungen, um Funktionen wie Code -Abschluss, Syntax -Hervorhebung und Debugging zu erhalten. Verwenden Sie den Debugger, um Code Schritt für Schritt zu verfolgen, Fehler zu finden und zu beheben. Integrieren Sie Git für die Versionskontrolle. Verwenden Sie Tools für die Codeformatierung, um die Codekonsistenz aufrechtzuerhalten. Verwenden Sie das Lining -Tool, um potenzielle Probleme im Voraus zu erkennen.

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

Im VS -Code können Sie das Programm im Terminal in den folgenden Schritten ausführen: Erstellen Sie den Code und öffnen Sie das integrierte Terminal, um sicherzustellen, dass das Codeverzeichnis mit dem Terminal Working -Verzeichnis übereinstimmt. Wählen Sie den Befehl aus, den Befehl ausführen, gemäß der Programmiersprache (z. B. Pythons Python your_file_name.py), um zu überprüfen, ob er erfolgreich ausgeführt wird, und Fehler auflösen. Verwenden Sie den Debugger, um die Debugging -Effizienz zu verbessern.
