Hjem Personlig finansiering Arbejder med grafdata i Python for datalogi - dummier

Arbejder med grafdata i Python for datalogi - dummier

Indholdsfortegnelse:

Video: Introduktion til hvordan jeg arbejder med psykoterapi 2025

Video: Introduktion til hvordan jeg arbejder med psykoterapi 2025
Anonim

De fleste datavidenskabsmænd skal arbejde med grafdata på et eller andet tidspunkt. Python giver dig den funktionalitet. Forestil dig datapunkter, der er forbundet til andre datapunkter, f.eks. Hvordan en webside er forbundet til en anden webside via hyperlinks. Hvert af disse datapunkter er en node . Noderne forbinder hinanden ved hjælp af links .

Ikke hver knude forbinder til hver anden knude, så knudeforbindelserne bliver vigtige. Ved at analysere noderne og deres links kan du udføre alle mulige interessante opgaver inden for datalogi, såsom at definere den bedste måde at komme fra arbejde til dit hjem ved hjælp af gader og motorveje.

Forstå tilstødende matrix

En adjacency matrix repræsenterer forbindelserne mellem noder i en graf. Når der er en forbindelse mellem et knudepunkt og et andet, angiver matrixen det som en værdi større end 0. Den nøjagtige repræsentation af forbindelser i matricen afhænger af om grafen er rettet (hvor forbindelsens retning er vigtig) eller uregistreret.

Et problem med mange online eksempler er, at forfatterne holder dem enkle til forklaring. Imidlertid er grafikker i virkeligheden ofte enorme og udfordrer let analyse simpelthen gennem visualisering. Tænk bare på antallet af noder, som endda en lille by ville have, når man overvejer gadekrydsninger. Mange andre grafer er langt større, og blot at se på dem vil aldrig afsløre nogen interessante mønstre. Dataforskere kalder problemet ved at præsentere en kompleks graf ved hjælp af en adjacency matrix a hairball .

En nøgle til at analysere adjacency matricer er at sortere dem på bestemte måder. Du kan f.eks. Vælge at sortere dataene efter andre egenskaber end de faktiske forbindelser. En graf over gadeforbindelser kan omfatte datoen, hvor gaden sidst blev banet med dataene, hvilket gør det muligt for dig at søge efter mønstre, der leder nogen baseret på de gader, der er i bedste reparation. Kort sagt, at gøre grafdataene nyttige bliver et spørgsmål om at manipulere organisationen af ​​disse data på bestemte måder.

Brug af NetworkX-basics

At arbejde med grafer kunne blive svært, hvis du skulle skrive hele koden fra bunden. Heldigvis gør NetworkX-pakken til Python det nemt at oprette, manipulere og studere strukturen, dynamikken og funktionerne i komplekse netværk (eller grafer). Du kan også bruge pakken til at arbejde med digrafer og multigrafer også.

Hovedvægten i NetworkX er at undgå hele problemet med hårboller.Brug af enkle opkald skjuler meget af kompleksiteten af ​​at arbejde med grafer og adjacency matricer fra visning. Nedenstående eksempel viser, hvordan man opretter en grundlæggende adjacency-matrix fra en af ​​de netværksleverede grafer:

import networkx som nx G = nx. cycle_graph (10) A = nx. adjacency_matrix (G) print (A. todense ())

Eksemplet begynder ved at importere den nødvendige pakke. Den opretter så en graf ved hjælp af cycle_graph () skabelonen. Grafen indeholder ti noder. Opkald adjacency_matrix () opretter adjacency-matrixen fra grafen. Det sidste trin er at udskrive output som en matrix som vist her:

[[0 1 0 0 0 0 0 0 0 1] [1 0 1 0 0 0 0 0 0 0] [0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 [0 0 0 1 0 1 0 0 0 0] [0 0 0 0 1 0 1 0 0 0] [0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0] [0 0 0 0 0 0 0 1 0 1] [1 0 0 0 0 0 0 0 1 0]]

Du behøver ikke bygg din egen graf fra bunden til forsøgsformål. NetworkX-webstedet dokumenterer en række standardgraftyper, som du kan bruge, som alle er tilgængelige i IPython.

Det er interessant at se, hvordan grafen ser efter, hvordan du genererer den. Følgende kode viser grafen for dig.

Plotning af den oprindelige graf.
import matplotlib. pyplot som plt nx. draw_networkx (G) plt. show ()

Plottet viser, at du kan tilføje en kant mellem knuder 1 og 5. Her er den kode, der er nødvendig for at udføre denne opgave ved hjælp af add_edge () -funktionen.

Plotning af grafillæggelsen.
G. add_edge (1, 5) nx. draw_networkx (G) plt. show ()
Arbejder med grafdata i Python for datalogi - dummier

Valg af editor

Hvordan man opretter en ny arbejdsbog i Excel 2010 - dummies

Hvordan man opretter en ny arbejdsbog i Excel 2010 - dummies

Hvis du arbejder i Microsoft Excel 2010 og vil begynde at arbejde i en ny Excel-workbook-fil, kan du nemt oprette en ny projektmappe. For at gøre det kan du bruge en kommando på fanen Filer eller en tastaturgenvej. Klik på fanen Filer. Excel viser Backstage-visning, hvor du kan få adgang til filrelaterede kommandoer. ...

Hvordan man opretter en ny brugerordbog i Excel 2010 - dummies

Hvordan man opretter en ny brugerordbog i Excel 2010 - dummies

I Excel 2010 Opret brugerdefinerede ordbøger, der skal bruges, når du stavekontrollerer dine regneark. Du bruger knappen Tilføj til ordbog i dialogboksen Staveord til at tilføje ukendte ord til en brugerdefineret ordbog. Som standard tilføjer Excel disse ord til en brugerdefineret ordbog fil med navnet CUSTOM. DIC, men du kan oprette en ny brugerdefineret ...

Hvordan du opretter og formaterer et pivotdiagram i Excel 2010 - dummies

Hvordan du opretter og formaterer et pivotdiagram i Excel 2010 - dummies

, Når du opretter en pivottabel i Excel 2010, kan du oprette et pivotdiagram for at vise sine sammendragsværdier grafisk. Du kan også formatere et pivotdiagram for at forbedre udseendet. Du kan bruge en af ​​de diagramtyper, der er tilgængelige med Excel, når du opretter et pivotdiagram. Opret et pivotdiagram Følg disse ...

Valg af editor

Hvordan du ændrer layoutet på dit Ning-netværkets hovedside - dummier

Hvordan du ændrer layoutet på dit Ning-netværkets hovedside - dummier

Du kan flytte funktioner rundt på hovedsiden på dit Ning-netværk via siden Tilføj funktioner til dit netværk, ændrer layoutet, indtil det bare er det, du vil have. For at komme til denne side skal du klikke på linket Administrer i din navigation og derefter klikke på Funktioner under Dit netværk. Tilføj funktioner til dit netværk ...

Sådan vælger du et sprog med Ning Language Editor - dummies

Sådan vælger du et sprog med Ning Language Editor - dummies

Ning Language Editor er et af de mest kraftfulde værktøjer til din rådighed for at tilpasse dit netværk til det maksimale. Ning Language Editor hjælper dig med at lave din netværksgrænseflade (menuer, knapper, overskrifter, legender osv.), Og læs præcis som du vil have det til. Sprogeditoren giver dig mulighed for at vælge et bestemt sprog:

Hvordan man vælger et tema til dit Ning-netværk - dummies

Hvordan man vælger et tema til dit Ning-netværk - dummies

Du kan køre dit netværk på Ning uden at være en meget vellykket designer - og Ning's temaer lader dig få det til at ligne en million dollars! Folkene i Ning har taget godt af det og tilbyder dig mere end 50 flotte skabeloner (de kalder dem temaer), som du kan bruge med minimal indsats:

Valg af editor

Forstå kamphandlinger i rutefilter - dummier

Forstå kamphandlinger i rutefilter - dummier

De kamphandlinger, der er tilgængelige for rutefiltre, er identiske med dem, der er tilgængelige for andre routing politikker i Junos. Du kan acceptere ruter, afvise ruter, ændre attributter, der tilhører en rute, eller udføre flow kontrol type funktioner. Langt de mest almindelige handlinger, der skal bruges med rutefiltre, accepteres og afvises. Normalt vil du ...

Brug god sikkerhedspraksis ved installation af netværksudstyr - dummies

Brug god sikkerhedspraksis ved installation af netværksudstyr - dummies

Vigtigheden af ​​at følge sikkerhedsprotokoller kan ikke være overvurderet. Hvis der ikke træffes passende forholdsregler, kan der opstå alvorlig skade for personale eller apparatet. Følg disse retningslinjer for at sikre din sikkerhed og beskytte enheden mod skade. Vær altid opmærksom og udøv god dømmekraft. Bemærk: Kun uddannet og kvalificeret personale skal installere enheden. Brug ...

Forstå matchtyper i rutefilter - dummies

Forstå matchtyper i rutefilter - dummies

Rutefilter matcher bestemte IP-adresser eller præfiksintervaller. I lighed med andre routingpolitikker indeholder de nogle matchkriterier og tilsvarende kamphandlinger. En vigtig forskel mellem rutefiltre og andre politiske matchforhold er, hvordan flere filtre håndteres. Hvis du har mere end en matchtilstand, behandles betingelserne som ...