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 2025

Video: Thorstein Grotbæk: Hvordan Gud arbeider med oss 2025
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 du samler ressurser i Minecraft - dummies

Hvordan du samler ressurser i Minecraft - dummies

Du kan samle ressurser på flere måter for Minecraft-strukturen - noen er mer effektiv enn andre. Her finner du noen forskjellige måter å samle materialer på for din struktur. Du har et par forskjellige alternativer når det gjelder gruvedrift. Hver har sine fordeler og ulemper, så det er opp til ...

Hvordan bygge Minecraft-kretser og -maskiner med Minecart-spor - dummier

Hvordan bygge Minecraft-kretser og -maskiner med Minecart-spor - dummier

Minecart og skinner er Minecraft-funksjoner ofte brukt til å transportere spillere. Men de kan også utføre mange mekaniske egenskaper bedre enn de vanlige redstone-elementene. Minecarts er enheter som kan rulle raskt langs minecartskinner. De kan svinge, gå opp og ned skråninger, og til og med spore (selv om de lider mye ...

Hvordan bygge din første Minecraft Garden - dummies

Hvordan bygge din første Minecraft Garden - dummies

Se hvordan du oppretter en vakker hage i Minecraft ved å planlegge riktig layout, få en rekke unike planter, og organisere plass.

Redaktørens valg

Reise fotografering kamera sammenligning diagram - dummies

Reise fotografering kamera sammenligning diagram - dummies

Fra smarte telefoner til punkt-og-skyte og digitale speilreflekskameraer, du har en mange fotograferingsvalg der ute. Bruk følgende diagram for å se hvilken type kamera som passer best for deg. Smartphone Point-and-shoot dSLR Bildesensor Kvalitet Lav til middels Medium Høy Vannbestandig (egnet for basseng) Sjeldne Få modeller Sjeldne Optiske Zoom Lav ...

Ta et makrofoto-dummies

Ta et makrofoto-dummies

Fotografi (makrofotografi) gir deg den som ser bildene dine, utsikt over verden ikke normalt sett av det blotte øye. De fleste kameraer, selv smarttelefoner, kan skyte ting med en rimelig nærhet med en viss grad av klarhet og fokus. Mens du reiser, finner du ting som skyter nærbilde, for eksempel hva du spiser til middag, en merkelig feil, ...

Forestille et Moving Object - dummies

Forestille et Moving Object - dummies

Når du ser et bilde, skjønner du selv hva som skjedde da det ble tatt. Noen bilder kan innebære bevegelse eller aktivitet. For eksempel kan du fokusere på en sykkel som beveger seg nedover gaten med bygningene bak den sløret. Dette er annerledes enn grunne dybdeskarphet, men fordi blenderåpningen ikke er det som skaper ...

Redaktørens valg

Rediger, endre farge eller fjern Photoshop Shape Layers - dummies

Rediger, endre farge eller fjern Photoshop Shape Layers - dummies

Bruk formlag i Photoshop Creative Suite 5 når målet med designet ditt er å integrere vektormodeller og pikseldata sømløst. Når du har opprettet et formlag, kan du redigere formen, endre fargen eller fjerne laget helt. Rediger en form Som Adobe Illustrator, gir Photoshop både et valg av sti ...

Oppdag Photoshops malerverktøy - dummies

Oppdag Photoshops malerverktøy - dummies

Ingenting i Photoshop CC gir deg mer presis kontroll over fargen i bildet ditt enn ved bruk av blyantpenningen verktøy med en 1-piks pensel. Husk at bildet ditt består av mange småfargede firkanter (piksler), og at fargen på de enkelte firkantene er det som gir utseendet til et tre eller et ...

Forbedre portretter i Photoshop CC - dummier

Forbedre portretter i Photoshop CC - dummier

Forbedre detaljer som å avklare motivets briller i Photoshop CC kan hjelpe bildene dine og portretter ser det mye bedre ut. Whitening tennene er et annet godt triks for å lyse opp bildene dine. Deklarende briller i Photoshop Eyeglasses kan være fotografens mareritt! Refleksjonene fra glass er vanligvis spekulative høydepunkter - det vil si områder av ren ...