Hjem Personlig finansiering Hvordan man bruger python til at udvikle grafer til datalogi - dummier

Hvordan man bruger python til at udvikle grafer til datalogi - dummier

Indholdsfortegnelse:

Video: Computational Linguistics, by Lucas Freitas 2025

Video: Computational Linguistics, by Lucas Freitas 2025
Anonim

Grafer er nyttige for datavidenskabsfolk. A graf er en gengivelse af data, der viser forbindelserne mellem datapunkter ved hjælp af linjer i Pythopn. Formålet er at vise, at nogle datapunkter vedrører andre datapunkter, men ikke alle de datapunkter, der vises på grafen.

Tænk på et kort over et undergrundssystem. Hver af stationerne forbinder til andre stationer, men ingen enkelt station forbinder alle stationer i metroen. Grafer er et populært datalogisk emne på grund af deres brug i socialmedieanalyse. Når du udfører socialmedieanalyse, afbilder og analyserer du netværk af relationer, såsom venner eller forretningsforbindelser, fra sociale hubs som Facebook, Google+, Twitter eller LinkedIn.

De to almindelige billeder af grafer er ikke-styrede , hvor grafen simpelthen viser linjer mellem dataelementer og rettet , hvor pile føjes til linjeshowet disse data flyder i en bestemt retning. For eksempel overveje en skildring af et vandsystem. Vandet vil i de fleste tilfælde strømme i kun en retning, så du kan bruge en rettet graf til ikke kun at vise forbindelserne mellem kilder og mål for vandet, men også for at vise vandretningen ved hjælp af pile.

Udvikling af uindirekte grafer

En ikke-rettet graf viser simpelthen forbindelser mellem knudepunkter. Udgangen giver ikke retning fra et knudepunkt til det næste. For eksempel, når der oprettes forbindelse mellem websider, er der ingen vejledning. Følgende eksempel viser, hvordan du opretter en uindrettet graf.

import networkx som nx import matplotlib. pyplot som plt G = nx. Graf () H = nx. Grafik () G. add_node (1) G. add_nodes_from ([2, 3]) G. add_nodes_from (rækkevidde (4, 7)) H. add_node (7) G. add_nodes_from (H) G. add_edge (1, 2) (Add) 5, 7), (6, 7)]) G. add_edges_from (H. Kanter ()) nx. draw_networkx (G) plt. show ()

Dette eksempel bygger grafen ved hjælp af en række forskellige teknikker. Det begynder ved at importere Networkx-pakken. For at oprette en ny uindrettet graf kalder koden grafen () -konstruktoren, som kan tage et antal inputargumenter, der skal bruges som attributter. Du kan dog opbygge en perfekt brugbar graf uden at bruge attributter, hvilket er hvad dette eksempel gør.

Den nemmeste måde at tilføje en node på er at kalde add_node () med et node nummer. Du kan også tilføje en liste, ordbog eller rækkevidde () af noder, der bruger add_nodes_from (). Faktisk kan du importere noder fra andre grafer, hvis du vil.

Selvom de noder, der bruges i eksemplet, er afhængige af tal, behøver du ikke bruge numre til dine noder. En node kan bruge et enkelt bogstav, en streng eller endda en dato. Noder har nogle begrænsninger. For eksempel kan du ikke oprette en node ved hjælp af en boolsk værdi.

Noder har ikke nogen forbindelse i starten. Du skal definere forbindelser (kanter) mellem dem. For at tilføje en enkelt kant kalder du add_edge () med numrene på de noder, du vil tilføje. Som med noder kan du bruge add_edges_from () til at oprette mere end en kant ved hjælp af en liste, en ordbog eller en anden graf som input. Her er output fra dette eksempel (din output kan afvige lidt, men skal have de samme forbindelser).

Uregistrerede grafer forbinder knudepunkter sammen for at danne mønstre.

Udvikling af rettede grafer

Du bruger ledede grafer, når du skal vise en retning, fra et startpunkt til et slutpunkt. Når du får et kort, der viser dig, hvordan du kommer fra et bestemt punkt til et andet, er startnoden og slutnoden markeret som sådan, og linjerne mellem disse knuder (og alle mellemknudepunkter) viser retning.

Dine grafer behøver ikke at være kedelige. Du kan klæde dem op på alle måder, så seeren får yderligere oplysninger på forskellige måder. Du kan f.eks. Oprette brugerdefinerede etiketter, bruge bestemte farver til bestemte noder eller stole på farve for at hjælpe folk med at se betydningen bag dine grafer.

Du kan også ændre kantlinjens vægt og bruge andre teknikker til at markere en bestemt sti mellem knuder som den bedre at vælge. Følgende eksempel viser mange (men ikke næsten alle) måder, hvorpå du kan klæde en rettet graf og gøre det mere interessant:

importer networkx som nx import matplotlib. pyplot som plt G = nx. G. Add_node (1, 2) G. add_nodes_from ([2, 3]) G. add_nodes_from (rækkevidde (4, 6)) G. add_path ([6, 7, 8] G. add_edges_from ([(1, 4), (4, 5), (2, 3), (3, 6), (5, 6)]) farver = ['r', 'g', 'g', 'g', 'g', 'm', 'm', 'r'] etiketter = {1: 'Start', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: 'End'} størrelser = [800, 300, 300, 300, 300, 600, 300, 800] nx. draw_networkx (G, node_color = farver, node_shape = "D", with_labels = True, labels = etiketter, node_size = størrelser) plt. show ()

Eksemplet begynder ved at oprette en retningsdiagram ved hjælp af DiGraph () konstruktøren. Du skal bemærke, at NetworkX-pakken også understøtter MultiGraph () og MultiDiGraph () graftyper. Tjek denne liste over alle graftyperne.

Tilføjelse af knudepunkter ligner meget på at arbejde med en uindrettet graf. Du kan tilføje enkelte noder ved hjælp af add_node () og flere noder ved hjælp af add_nodes_from (). Add_path () -opkaldet giver dig mulighed for at oprette noder og kanter på samme tid. Ordren af ​​noder i opkaldet er vigtige. Strømmen fra et node til en anden er fra venstre til højre i listen, der leveres til opkaldet.

Tilføjelse af kanter er meget det samme som at arbejde med en ikke-direkte graf. Du kan bruge add_edge () for at tilføje en enkelt kant eller add_edges_from () for at tilføje flere kanter ad gangen. Imidlertid er rækkefølgen af ​​node numrene vigtig.Strømmen går fra venstre knude til højre knudepunkt i hvert par.

Dette eksempel tilføjer specielle nodefarver, etiketter, form (kun en form bruges) og størrelser til udgangen. Du ringer stadig på draw_networkx () for at udføre opgaven. Men tilføjelse af de viste parametre ændrer grafens udseende. Bemærk, at du skal indstille with_labels til True for at se de etiketter, der leveres af etiketparameteren. Her er output fra dette eksempel.

Brug rettede grafer til at vise retning mellem knuder.

Hvordan man bruger python til at udvikle grafer til 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 ...