Zuhause Persönliche Finanzen Wie man Python benutzt, um Graphen für Data Science zu entwickeln - Dummies

Wie man Python benutzt, um Graphen für Data Science zu entwickeln - Dummies

Inhaltsverzeichnis:

Video: How I Learned to Code in Less Than 2 Months 2024

Video: How I Learned to Code in Less Than 2 Months 2024
Anonim

Diagramme sind nützlich für Datenwissenschaftler. Ein Graph ist eine Darstellung von Daten, die die Verbindungen zwischen Datenpunkten unter Verwendung von Linien in Pythopn zeigen. Der Zweck besteht darin, zu zeigen, dass sich einige Datenpunkte auf andere Datenpunkte beziehen, jedoch nicht auf alle Datenpunkte, die im Diagramm erscheinen.

Denken Sie an eine Karte eines U-Bahn-Systems. Jede der Stationen verbindet sich mit anderen Stationen, aber keine einzige Station verbindet sich mit allen Stationen im U-Bahn-System. Graphen sind wegen ihrer Verwendung in der Social-Media-Analyse ein beliebtes Thema in der Datenwissenschaft. Bei der Durchführung von Social-Media-Analysen stellen Sie Beziehungsnetzwerke wie Freunde oder Geschäftsverbindungen von sozialen Netzwerken wie Facebook, Google+, Twitter oder LinkedIn dar und analysieren diese.

Die beiden gebräuchlichsten Darstellungen von Graphen sind ungerichtet , wobei der Graph einfach die Linien zwischen den Datenelementen zeigt und auf verweist, wobei Pfeile, die der Linie hinzugefügt wurden, angezeigt werden. diese Daten fließen in eine bestimmte Richtung. Betrachten Sie zum Beispiel eine Darstellung eines Wassersystems. Das Wasser würde in den meisten Fällen nur in eine Richtung fließen, so dass Sie einen gerichteten Graphen verwenden könnten, um nicht nur die Verbindungen zwischen Quellen und Zielen für das Wasser darzustellen, sondern auch die Wasserrichtung mithilfe von Pfeilen anzuzeigen.

Entwicklung von ungerichteten Graphen

Ein ungerichteter Graph zeigt einfach Verbindungen zwischen Knoten. Der Ausgang liefert keine Richtung von einem Knoten zum nächsten. Wenn zum Beispiel eine Verbindung zwischen Webseiten hergestellt wird, wird keine Richtung impliziert. Im folgenden Beispiel wird gezeigt, wie ein ungerichteter Graph erstellt wird.

importiere networkx als nx import matplotlib. pyplot als plt G = nx. Graph () H = nx. Graph () G. add_node (1) G. add_nodes_from ([2, 3]) G. add_nodes_from (Bereich (4, 7)) H. add_node (7) G. add_nodes_from (H) G. add_edge (1, 2) G. add_edge (1, 1) G. add_edges_from ([(2, 3), (3, 6), (4, 6), (5, 6)]) H. add_edges_from ([(4, 7), (5, 7), (6, 7)]) G. add_edges_from (H. Kanten ()) nx. draw_networkx (G) plt. show ()

In diesem Beispiel wird das Diagramm mit einer Reihe verschiedener Techniken erstellt. Es beginnt mit dem Importieren des Networkx-Pakets. Um ein neues ungerichtetes Diagramm zu erstellen, ruft der Code den Graph () - Konstruktor auf, der eine Reihe von Eingabeargumenten als Attribute verwenden kann. Sie können jedoch einen perfekt verwendbaren Graphen erstellen, ohne Attribute zu verwenden. Dies ist in diesem Beispiel der Fall.

Der einfachste Weg zum Hinzufügen eines Knotens ist das Aufrufen von add_node () mit einer Knotennummer. Sie können mit add_nodes_from () auch eine Liste, ein Wörterbuch oder einen Bereich () von Knoten hinzufügen. In der Tat können Sie Knoten aus anderen Graphen importieren, wenn Sie möchten.

Auch wenn die im Beispiel verwendeten Knoten auf Zahlen basieren, müssen Sie keine Zahlen für Ihre Knoten verwenden. Ein Knoten kann einen einzelnen Buchstaben, eine Zeichenfolge oder sogar ein Datum verwenden. Knoten haben einige Einschränkungen. Beispielsweise können Sie keinen Knoten mit einem booleschen Wert erstellen.

Knoten haben zu Beginn keine Konnektivität. Sie müssen Verbindungen (Kanten) zwischen ihnen definieren. Um eine einzelne Kante hinzuzufügen, rufen Sie add_edge () mit den Nummern der Knoten auf, die Sie hinzufügen möchten. Wie bei Knoten können Sie add_edges_from () verwenden, um mehr als eine Kante mithilfe einer Liste, eines Wörterbuchs oder eines anderen Diagramms als Eingabe zu erstellen. Hier ist die Ausgabe von diesem Beispiel (Ihre Ausgabe kann leicht abweichen, sollte aber die gleichen Verbindungen haben).

Ungerichtete Graphen verbinden Knoten miteinander, um Muster zu bilden.

Entwickeln von gerichteten Graphen

Sie verwenden gerichtete Graphen, wenn Sie eine Richtung angeben müssen, z. B. von einem Startpunkt zu einem Endpunkt. Wenn Sie eine Karte erhalten, die Ihnen zeigt, wie Sie von einem bestimmten Punkt zu einem anderen gelangen, werden der Startknoten und der Endknoten als solche markiert und die Linien zwischen diesen Knoten (und allen Zwischenknoten) zeigen die Richtung an.

Deine Graphen müssen nicht langweilig sein. Sie können sie auf alle möglichen Arten verkleiden, so dass der Betrachter auf verschiedene Weise zusätzliche Informationen erhält. Beispielsweise können Sie benutzerdefinierte Beschriftungen erstellen, bestimmte Farben für bestimmte Knoten verwenden oder sich auf Farbe verlassen, um den Benutzern die Bedeutung ihrer Diagramme zu vermitteln.

Sie können auch die Kantenliniengewichtung ändern und andere Techniken verwenden, um einen bestimmten Pfad zwischen Knoten als den besseren zu markieren. Das folgende Beispiel zeigt viele (aber nicht alle) Möglichkeiten, wie Sie einen gerichteten Graphen verkleinern und interessanter machen können:

importiere networkx als nx import matplotlib. pyplot als plt G = nx. DiGraph () G. add_node (1) G. add_nodes_from ([2, 3]) G. add_nodes_from (Bereich (4, 6)) G. add_path ([6, 7, 8]) G. add_edge (1, 2) G. add_edges_from ([(1, 4), (4, 5), (2, 3), (3, 6), (5, 6)]) Farben = ['r', 'g', 'g', 'g', 'g', 'm', 'm', 'r'] etiketten = {1: 'Start', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: 'Ende'} Größen = [800, 300, 300, 300, 300, 600, 300, 800] nx. draw_networkx (G, node_color = Farben, node_shape = "D", with_labels = True, labels = Labels, node_size = Größen) plt. show ()

Das Beispiel beginnt mit dem Erstellen eines Richtdiagramms mit dem DiGraph () - Konstruktor. Sie sollten beachten, dass das NetworkX-Paket auch die Graphentypen MultiGraph () und MultiDiGraph () unterstützt. Sehen Sie sich diese Liste aller Diagrammtypen an.

Das Hinzufügen von Knoten funktioniert ähnlich wie ein ungerichteter Graph. Sie können einzelne Knoten mit add_node () und mehreren Knoten mit add_nodes_from () hinzufügen. Mit dem Aufruf add_path () können Sie Knoten und Kanten gleichzeitig erstellen. Die Reihenfolge der Knoten im Aufruf ist wichtig. Der Fluss von einem Knoten zu einem anderen ist von links nach rechts in der Liste, die dem Anruf übergeben wird.

Das Hinzufügen von Kanten ist ähnlich wie das Arbeiten mit einem ungerichteten Graphen. Sie können add_edge () verwenden, um eine einzelne Kante hinzuzufügen, oder add_edges_from (), um mehrere Kanten gleichzeitig hinzuzufügen. Die Reihenfolge der Knotennummern ist jedoch wichtig.Der Fluss geht von dem linken Knoten zu dem rechten Knoten in jedem Paar.

In diesem Beispiel werden spezielle Knotenfarben, Beschriftungen, Formen (nur eine Form wird verwendet) und Größen für die Ausgabe hinzugefügt. Sie rufen immer noch draw_networkx () auf, um die Aufgabe auszuführen. Wenn Sie jedoch die angezeigten Parameter hinzufügen, ändert sich das Aussehen des Diagramms. Beachten Sie, dass Sie with_labels auf True setzen müssen, um die vom label-Parameter bereitgestellten Labels zu sehen. Hier ist die Ausgabe dieses Beispiels.

Verwenden Sie gerichtete Graphen, um die Richtung zwischen Knoten anzuzeigen.

Wie man Python benutzt, um Graphen für Data Science zu entwickeln - Dummies

Die Wahl des Herausgebers

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Bei der Arbeit mit IPv6-Adressen kann es viel Zeit in Anspruch nehmen. schreibe deine Adressen - immerhin sind sie 128 Bit lang. Um das Leben einfacher zu machen, gibt es einige Regeln, die Sie verwenden können, um diese Schreibweise zu verdichten: Führende Nullen in der Adresse sind optional. Für einen Adressblock wäre also 0A45 gleich A45, ...

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkadressierungsarchitektur unterteilt den Adressraum für Internet Protocol Version 4 (IPv4 ) in fünf Adressklassen. Jede Klasse, die in den ersten vier Bits der Adresse codiert ist, definiert entweder eine andere Netzwerkgröße, d.h. e. Anzahl der Hosts für Unicast-Adressen (Klassen A, B, C) oder Multicast-Netzwerk (Klasse D). Die fünfte Klasse (E) address ...

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

In TCP / IP- und UDP-Netzwerken ist ein Port ein Endpunkt eine logische Verbindung. Die Portnummer gibt an, um welchen Port es sich handelt. Port 80 wird beispielsweise für HTTP-Datenverkehr verwendet. Wenn Sie einen Befehl wie netstat -n unter Microsoft Windows oder Linux verwenden, sehen Sie eine Auflistung der lokalen Adressen ...

Die Wahl des Herausgebers

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Wenn Sie ein Anfänger auf dem Dashboard sind Automatisierung in Excel ist es unwahrscheinlich, dass Sie den VBA-Code (Visual Basic für Applikationen) von Hand schreiben können, um Makros zu erstellen. Ohne vollständige Kenntnis des Objektmodells und der Syntax von Excel wäre das Schreiben des benötigten Codes für die meisten Anfänger unmöglich. Hier können Sie ein Makro aufzeichnen ...

Excel-Formelberechnungsmodi - Dummys

Excel-Formelberechnungsmodi - Dummys

Standardmäßig ist Excel so eingestellt, dass es automatisch neu berechnet wird. Wenn Sie eine der Zellen ändern, auf die in einer bestimmten Formel verwiesen wird, berechnet Excel diese Formel automatisch neu, sodass ein korrektes Ergebnis basierend auf den Änderungen in den Zellbezügen zurückgegeben wird. Wenn die Formel, die neu berechnet wird, auch als Zellenreferenz in anderen verwendet wird ...

Excel Formelfehler - Dummies

Excel Formelfehler - Dummies

Es ist nicht immer glatt, wenn Sie mit Excel-Formeln arbeiten. Manchmal gibt eine Formel einen Fehlerwert anstelle des erwarteten Werts zurück. Excel hilft Ihnen, das Problem zu identifizieren, indem Sie einen von sieben Fehlerwerten zurückgeben: # DIV / 0! , # N / A, #NAME? , #NULL! , #NUM! , #REF! und #WERT! , erklärt in der folgenden Liste: # DIV / 0! : ...

Die Wahl des Herausgebers

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

, Wenn Sie mit der Verwendung und Veröffentlichung beginnen Bei Google+ möchten Sie gelegentlich Links und Bilder teilen, die Beiträge anderer freigeben, ihre Beiträge kommentieren und andere in Ihren eigenen Google+ Beiträgen erwähnen. Vielleicht fragen Sie sich auch, wie Sie andere dazu bringen, Ihre eigenen Beiträge öfter zu kommentieren. Teilen von Links und Bildern in Google+ So geben Sie ein ...

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Beiträge auf Google+ sind ganz einfach und können posten Text, Links, Fotos, Videos und sogar Ihren aktuellen Standort. Der schwierigste Teil des Beitrags auf Google+ besteht darin, auszuwählen, wen Sie Ihren Beitrag sehen möchten. Google+ verwendet Ihre Kreise, um festzulegen, wer Ihre Beiträge sehen kann. Kreise sind etwas einfacher als Listen, weil ...

Taggen von Personen in Google+ Fotos - Dummies

Taggen von Personen in Google+ Fotos - Dummies

Sie können Personen in Ihren Kreisen auf jedem Foto auf Google+ markieren. Wenn Sie eine Person in einem Foto taggen, wird diese Person über ihre Google+ Benachrichtigungen benachrichtigt. Sie können dann das Tag entfernen oder genehmigen, und das Foto wird mit dem Tag des Namens dieser Person darin angezeigt. Um jemanden zu markieren, ...