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 2024

Video: Introduktion til hvordan jeg arbejder med psykoterapi 2024
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

Hvad er nyt i Microsoft Word 2016? - dummies

Hvad er nyt i Microsoft Word 2016? - dummies

Udgivelsen af ​​Microsoft Word i 2016 er funktionel pakket og kan prale af evnen til at forenkle arbejdsgange og forene arbejdsgrupper. Hvad det betyder for dig er, at det er et meget lettere produkt at bruge i forhold til tidligere versioner. Med funktionelle ændringer, der er indbygget i knapper og faner af Word 2016s båndformede proceslinje, har den ...

Word 2010 Tastaturgenveje - Dummies

Word 2010 Tastaturgenveje - Dummies

Word 2010 tilbyder en række nyttige tastaturgenveje til hurtigt at udføre opgaver. Her er nogle genveje til almindelig Word-formatering, redigering og fil- og dokumentopgaver. Word 2010 Formatering Genveje Kommando Genvej Bånd Placering Fed Ctrl + B Startside Fane, Skrifttype Gruppe Kursiv Ctrl + I Startside, Skriftgruppe Understrege Ctrl + U Startside Fane, Skriftgruppe Center Ctrl + E ...

Word 2007 For Dummies Cheat Sheet - dummies

Word 2007 For Dummies Cheat Sheet - dummies

Word 2007 ser anderledes ud, men tilbyder stadig de praktiske Word hæfteklammer som f.eks. tastaturgenveje til at hjælpe dig med at oprette, formatere, indsætte ting i og flytte gennem dine Word-dokumenter. Og Word 2007 tilbyder også et par nye funktioner, der hjælper dig med at håndtere din tekstbehandling med lethed.

Valg af editor

ASVAB Montering af objekter Subtest: Shapes - dummies

ASVAB Montering af objekter Subtest: Shapes - dummies

Mange mennesker kan finde den anden type montering af objekter problem på ASVAB lettere end forbindelsesproblemerne. Denne type problem er meget som et puslespil, medmindre det ikke resulterer i et billede af Frihedsgudinden eller et kort over USA. Der er også en heck of a ...

ASVAB Aritmetisk Reasoning Subtest: Viser Sammenligninger med Ratioer - Dummies

ASVAB Aritmetisk Reasoning Subtest: Viser Sammenligninger med Ratioer - Dummies

Du skal vide, hvordan du arbejde med forhold for den aritmetiske begrundelse subtest af ASVAB. Et forhold viser et forhold mellem to ting. For eksempel, hvis Margaret investerede i hendes tatoveringslokale i forholdet 2: 1 (eller 2 til 1) til hendes forretningspartner Julie, satte Margaret $ 2 for hver ...

ASVAB Auto & Shop Information Undertest: Drilling, Punching og Gouging Tools - dummies

ASVAB Auto & Shop Information Undertest: Drilling, Punching og Gouging Tools - dummies

Nej, det handler ikke om hånd-til-hånd kamp træning fra grundlæggende træning. Imidlertid vil ASVAB teste din viden om, hvor praktisk du er med boring, stansning og gouging-værktøjer. Masters i butikskunst gør ofte huller i det materiale, de arbejder med for at opbygge det perfekte fuglehus (eller hvad de arbejder på). ...

Valg af editor

EMT-eksamen: Sådan arbejder du med et team under et nødsituation

EMT-eksamen: Sådan arbejder du med et team under et nødsituation

Arbejder helt alene som en EMT er ekstremt sjælden. Selv under disse omstændigheder vil du sandsynligvis interagere med andre sundhedspleje- og offentlige sikkerhedsudbydere på et eller andet tidspunkt under et opkald. Mere sandsynligt vil du fungere som medlem af et hold. Det kan være en enkelt partner, et brandmandsbesætningsmedlem eller endda en nødsituation ...

EMT-eksamen: Sådan dokumenterer du dine tilfælde - dummier

EMT-eksamen: Sådan dokumenterer du dine tilfælde - dummier

Til eksamen og i feltet EMT er forpligtet til at dokumentere, hvad du observerede om patienten og miljøet, de resultater, du vurderede, den omhu du gav, og eventuelle ændringer i patientens tilstand, mens du var i din pleje. Dokumentation kan ske enten på papirformularer eller elektronisk med en computer, bærbar computer, ...