Hem Personliga finanser Arbetar med grafdata i Python for Data Science - dummies

Arbetar med grafdata i Python for Data Science - dummies

Innehållsförteckning:

Video: Vad jag arbetar med! 2025

Video: Vad jag arbetar med! 2025
Anonim

De flesta datavetenskapare måste arbeta med grafdata vid någon tidpunkt. Python ger dig den funktionen. Föreställ dig datapunkter som är kopplade till andra datapunkter, till exempel hur en webbsida är ansluten till en annan webbsida via hyperlänkar. Var och en av dessa datapunkter är en nod . Noderna ansluter till varandra med länkar .

Inte alla knutpunkter länkar till varje annan nod, så knutpunkterna blir viktiga. Genom att analysera noderna och deras länkar kan du utföra alla möjliga intressanta uppgifter inom datavetenskap, som att definiera det bästa sättet att komma från jobbet till ditt hem med hjälp av gator och motorvägar.

Förstå närliggande matrisen

En adjacencymatris representerar förbindelserna mellan noder i ett diagram. När det finns en anslutning mellan en nod och en annan, indikerar matrisen det som ett värde större än 0. Den exakta representationen av anslutningar i matrisen beror på huruvida grafen är riktad (var anslutningens riktning betyder) eller omriktad.

Ett problem med många onlineexempel är att författarna håller dem enkla för förklaringsändamål. Imidlertid är grafiker i verkligheten ofta enorma och trotsar enkel analys helt enkelt genom visualisering. Tänk bara på antalet noder som även en liten stad skulle ha när man överväger gatu korsningar. Många andra grafer är mycket större, och helt enkelt titta på dem kommer aldrig att avslöja några intressanta mönster. Datavetenskapare ringer problemet med att presentera ett komplext diagram med en närliggande matris a hårboll .

En nyckel för att analysera adjacency matriser är att sortera dem på specifika sätt. Du kan till exempel välja att sortera data enligt andra egenskaper än de faktiska anslutningarna. En graf av gatukopplingar kan innefatta det datum som gatan var senast belagt med data, vilket gör det möjligt för dig att leta efter mönster som leder någon baserat på gatorna som är bäst reparerade. Kort sagt, att göra grafdatan användbar blir en fråga om att manipulera organisationen av den data på specifika sätt.

Använda NetworkX-basics

Att arbeta med diagram kan bli svårt om du måste skriva hela koden från början. Lyckligtvis gör NetworkX-paketet för Python det enkelt att skapa, manipulera och studera komplexa nätverk (eller grafer) struktur, dynamik och funktioner. Du kan också använda paketet för att arbeta med digrafer och multigrafer också.

NetworkX är viktiga för att undvika hela frågan om hårbollar.Användningen av enkla samtal döljer mycket av komplexiteten i att arbeta med grafer och adjacency matriser från vy. Följande exempel visar hur man skapar en grundläggande adjacencymatris från en av de medföljande graderna NetworkX:

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

Exemplet börjar genom att importera den nödvändiga paketet. Det skapar sedan ett diagram med hjälp av cycle_graph () mallen. Diagrammet innehåller tio noder. Ringa adjacency_matrix () skapar adjacencymatrisen från grafen. Det sista steget är att skriva ut utgången som en matris, som visas här:

[[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 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 1 0]]

Du behöver inte bygga din egen graf från början för teständamål. NetworkX-webbplatsen dokumenterar ett antal standardgraftyper som du kan använda, vilka alla är tillgängliga inom IPython.

Det är intressant att se hur grafen ser ut när du genererar den. Följande kod visar grafen för dig.

Plottar den ursprungliga grafen.
import matplotlib. pyplot som plt nx. draw_networkx (G) plt. visa ()

Plot visar att du kan lägga till en kant mellan noderna 1 och 5. Här är koden som behövs för att utföra den här uppgiften med funktionen add_edge ().

Plottar grafillägget.
G. add_edge (1, 5) nx. draw_networkx (G) plt. visa ()
Arbetar med grafdata i Python for Data Science - dummies

Redaktörens val

Hur man korrigerar vanliga försäljningsfel i QuickBooks 2015 - dummies

Hur man korrigerar vanliga försäljningsfel i QuickBooks 2015 - dummies

Om du gör ett misstag i ange ett kvitto (kontantförsäljning) i QuickBooks 2015, oroa dig inte. De flesta fel har enkla lösningar. Här är en lista över vanliga problem och hur man fixar dem: Om försäljningskvittot fortfarande visas på skärmen: Om försäljningskvittot fortfarande är på skärmen kan du flytta markören till ...

Hur man skapar en revisors kopia av din QuickBooks 2010 datafil - dummies

Hur man skapar en revisors kopia av din QuickBooks 2010 datafil - dummies

QuickBooks 2010 gör det enkelt för revisorer att arbeta med klientdatafiler. Du kan använda Accountant's Copy-funktionen i QuickBooks för att helt enkelt e-posta (eller snail-mail) din revisor en kopia av QuickBooks-datafilen. Du skapar revisorns kopia av QuickBooks datafil genom att använda din version av QuickBooks och den verkliga ...

Hur man skapar en ny budget i QuickBooks - dummies

Hur man skapar en ny budget i QuickBooks - dummies

När du har kommit överens med en budget Med hjälp av vissa budgeteringsmetoder registrerar du din budget i QuickBooks. Om du vill skapa en ny budget i QuickBooks följer du dessa steg:

Redaktörens val

ÖVersätt Twitter Slang och Jargon - dummies

ÖVersätt Twitter Slang och Jargon - dummies

Diskussioner om och om Twitter är fulla med alla slags förkortningar och jargong som kan förvirra nya Twitter-användare. Vad talar folk om (och tweeting) om? Följande ordlista definierar några av de förvirrande förkortningarna och Twitter-lingo du kan komma över. AFAIK: Så vitt jag vet. bot: Ett konto som drivs av en ...

Vad är Letgo? - dummies

Vad är Letgo? - dummies

Letgo är en mobil klassificerad applikation som tillåter användare att köpa från och sälja till andra lokalt. Du kan använda Letgo till fyndbutik eller slutligen släppa på saker som samlar damm runt ditt hus. I likhet med andra classifieds-applikationer som Wallapop eller Craigslist kommer säljare att skicka ett objekt och vänta på en köpare ...

Vad är Bebo? - dummies

Vad är Bebo? - dummies

Innan Facebook gick i centrum, var Bebo en av de mest populära på de sociala nätverkssidorna. Tillbaka i mitten av 1990-talet kanske några av er kommer ihåg Bebo. Den här webbplatsen har utvecklats och lanserats under MySpace och Hi5s dagar när socialt nätverkande först skedde i Internetgemenskapen. AOL: s 850 miljoner ...

Redaktörens val

Ser ut för makrovirus i Office 2003 - dummies

Ser ut för makrovirus i Office 2003 - dummies

Microsoft Office 2003 ger dig två sätt att skapa en makro. Det enklaste sättet är att spela in dina tangenttryckningar och sedan spela upp dem när du behöver dem. Det hårdare sättet att skapa ett makro är att använda Microsofts speciella makroprogrammeringsspråk (kallat Visual Basic for Applications eller VBA) för att skapa kraftfullare ...

Tio Office 2013 Snabbkommandon - dummies

Tio Office 2013 Snabbkommandon - dummies

Ett vanligt tema för Office 2013 är att alla program ser ut och fungerar lika. När du har läst hur du använder Word hittar du det inte mycket svårare att lära sig Excel eller PowerPoint eftersom flikflikarna alla fungerar på liknande sätt. Ännu bättre, samma tangentkommandon fungerar lika i alla Office 2013-program. Vid ...

Vad är kontorsmallar? - dummies

Vad är kontorsmallar? - dummies

Microsoft Word är det mest populära i Office 2013-programmen eftersom nästan alla behöver skapa textdokument av en eller annan typ. Med Word kan du skapa allt från faxöverdragsark till skolböcker till familjesemestrar. Du kan skapa ett tomt nytt dokument, eller du kan basera ett nytt ...