Hjem Personlig finansiering Arbeider med grafdata i python for datalogi - dummies

Arbeider med grafdata i python for datalogi - dummies

Innholdsfortegnelse:

Video: Thorstein Grotbæk: Hvordan Gud arbeider med oss 2024

Video: Thorstein Grotbæk: Hvordan Gud arbeider med oss 2024
Anonim

De fleste datavitenskapsmenn må jobbe med grafdata på et tidspunkt. Python gir deg den funksjonaliteten. Tenk deg datapunkter som er koblet til andre datapunkter, for eksempel hvordan en nettside er koblet til en annen nettside gjennom hyperkoblinger. Hvert av disse datapunktene er en knutepunkt . Nodene koble til hverandre ved hjelp av koblinger .

Ikke alle knutepunkter kobles til hver annen knutepunkt, så knutepunktforbindelsene blir viktige. Ved å analysere noder og deres koblinger kan du utføre alle slags interessante oppgaver innen datavitenskap, for eksempel å definere den beste måten å komme seg fra arbeid til ditt hjem ved hjelp av gater og motorveier.

Forstå adjacencymatrisen

En adjacencymatrix representerer forbindelsene mellom noder på en graf. Når det er en forbindelse mellom en node og en annen, angir matrisen den som en verdi som er større enn 0. Den nøyaktige representasjonen av forbindelser i matrisen avhenger av om grafen er rettet (hvor retningen for forbindelsen er viktig) eller ubestemt.

Et problem med mange elektroniske eksempler er at forfatterne holder dem enkle for forklaring. Imidlertid er grafikker i virkeligheten ofte enorme og utfordrer enkel analyse bare gjennom visualisering. Tenk bare på antall noder som selv en liten by ville ha når man vurderer gatekryss. Mange andre grafer er langt større, og bare å se på dem vil aldri avsløre noen interessante mønstre. Dataforskere kaller problemet ved å presentere noen komplekse graf ved hjelp av en adjacencymatrix a hairball .

En nøkkel til å analysere adjacency matriser er å sortere dem på bestemte måter. For eksempel kan du velge å sortere dataene i henhold til andre egenskaper enn de faktiske forbindelsene. En graf over gateforbindelser kan inkludere datoen gaten var sist asfaltert med dataene, noe som gjør det mulig for deg å lete etter mønstre som leder noen basert på gatene som er i beste reparasjon. Kort sagt, å gjøre grafdataene nyttige blir et spørsmål om å manipulere organisasjonen av dataene på bestemte måter.

Bruke NetworkX-grunnleggende

Arbeide med grafer kan bli vanskelig hvis du måtte skrive all koden fra bunnen av. Heldigvis gjør NetworkX-pakken for Python det enkelt å lage, manipulere og studere strukturen, dynamikken og funksjonene til komplekse nettverk (eller grafer). Du kan også bruke pakken til å jobbe med digrafer og multigrafer også.

Hovedvekten i NetworkX er å unngå hele spørsmålet om hårboller.Bruken av enkle anrop skjuler mye av kompleksiteten ved å arbeide med grafer og adjacency matriser fra visning. Følgende eksempel viser hvordan du lager en grunnleggende adjacencymatrise fra en av de nettverkslevererte grafene:

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

Eksemplet begynner med å importere den nødvendige pakken. Det oppretter så en graf ved hjelp av cycle_graph () -malen. Grafen inneholder ti noder. Ringe adjacency_matrix () lager adjacencymatrisen fra grafen. Det siste trinnet er å skrive ut produksjonen som en matrise, 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 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 0 0]]

Du trenger ikke bygg din egen graf fra grunnen til testformål. NetworkX-nettstedet dokumenterer en rekke standard graftyper som du kan bruke, som alle er tilgjengelige i IPython.

Det er interessant å se hvordan grafen ser etter at du genererer den. Følgende kode viser grafen for deg.

Plotting av den opprinnelige grafen.
import matplotlib. pyplot som plt nx. draw_networkx (G) plt. show ()

Plottet viser at du kan legge til en kant mellom noder 1 og 5. Her er koden som trengs for å utføre denne oppgaven ved hjelp av add_edge () -funksjonen.

Plotting av graf-tillegget.
G. add_edge (1, 5) nx. draw_networkx (G) plt. Vis ()
Arbeider med grafdata i python for datalogi - dummies

Redaktørens valg

Hvordan å stable og gruppereformer i Word 2013 - dummies

Hvordan å stable og gruppereformer i Word 2013 - dummies

Enkeltformer kan noen ganger være nyttige i en dokument, men den virkelige kraften til Word 2013's Shapes-funksjonen kan bli funnet ved å kombinere figurer for å lage mer komplekse tegninger og logoer. Du kan stable formene oppå hverandre og kontrollere rekkefølgen de vises i stakken. Når du har ...

Hvordan du angir punktavstand i Word 2013 - dummies

Hvordan du angir punktavstand i Word 2013 - dummies

Word 2013 lar deg legge til "luft" til plass før eller etter eller i midten av avsnittene dine. I midten av avsnittet har du linjeavstand. Før og etter avsnittet kommer punktavstand. Hvordan sette linjeavstanden Endre linjeavstanden legger til ekstra mellomrom mellom alle tekstlinjer ...

Slik starter du et nytt dokument i Word 2007 - dummies

Slik starter du et nytt dokument i Word 2007 - dummies

Starter et nytt dokument i Word 2007 er lett. Hvis du nettopp har startet Word 2007 og vil åpne et tomt dokument, kan du følge tre enkle trinn.

Redaktørens valg

Slik oppretter du en AWS Administrator User - Dummies

Slik oppretter du en AWS Administrator User - Dummies

Opprett Administrator-gruppen er det første trinnet for å sikre at din AWS (Amazon Web Services) -kontoen er fortsatt trygg. Det neste trinnet er å opprette en konto for deg selv og tilordne den til administratorgruppen, slik at du har full tilgang til de administrative funksjonene i din AWS-konto. Følgende trinn beskriver hvordan ...

Vurderer AWS-støttede plattformer - dummies

Vurderer AWS-støttede plattformer - dummies

Hvis du ikke har behandlet AWS eller skyen ennå, du kan være fristet til å tenke på plattformer som en bestemt kombinasjon av gjenstander. For eksempel, når du ser ditt eget lokale oppsett, har du en server som kjører et bestemt operativsystem og har et bestemt sett med maskinvareressurser. Systemet har en bestemt ...

Lage skuffer på Amazon Web Services - dummies

Lage skuffer på Amazon Web Services - dummies

Når du er den stolte eieren av Amazon Web Services (AWS ) konto, det er på tide å gjøre noe nyttig, som å lage en bøtte. Start med å sjekke ut dine S3-ressurser. For å gjøre det, klikk S3-lenken på startsiden for AWS Management Console, som vist her: Du er tatt til en side som lar deg administrere ...

Redaktørens valg

Slik bruker du Eye-Fi med Evernote-dummies

Slik bruker du Eye-Fi med Evernote-dummies

Et selskap kalt Eye-Fi gjør det mulig å Koble kameraet ditt med Evernote, selv uten å koble kameraet til datamaskinen. Følg disse trinnene for å bruke Eye-Fi: Følg instruksjonene som følger med Eye-Fi-kortet for å konfigurere en Eye-Fi-konto. Sett inn Eye-Fi-kortet i kameraet. Slå på kameraet ditt. ...

Hvordan man merker på Evernote for datamaskiner og tabletter - dummies

Hvordan man merker på Evernote for datamaskiner og tabletter - dummies

Hele poenget med å lagre nyttig informasjon er for å kunne finne den senere. Tagging i Evernote er fundamentalt lik for alle plattformer og er ekstremt nyttig når du dash om å prøve å skrive inn notater på hvilken enhet du bruker på den tiden. For å lage en tagg for et notat på en datamaskin eller ...