Människor tenderar att bilda samhällen - klyftor av andra människor som gillar idéer och känslor. Genom att studera dessa kluster blir attribut för vissa beteenden till gruppen som helhet lättare (även om beteendet till en individ är både farligt och opålitligt).
Tanken bakom studiet av kluster är att om det finns en koppling mellan människor, har de ofta en gemensam uppsättning idéer och mål. Genom att hitta kluster kan du bestämma dessa idéer genom att inspektera gruppmedlemskap. Det är till exempel vanligt att försöka hitta grupper av personer i försäkringsbedrägeri upptäckt och skatteinspektion. Oväntade grupper av människor kan upprepa misstanke om att de är en del av en grupp bedrägerier eller skatteflyktare eftersom de saknar de vanliga orsakerna till att människor samlas under sådana omständigheter.
Vänskapsgrafer kan representera hur människor ansluter till varandra. Vertexerna representerar individer och kanterna representerar deras kopplingar, till exempel familjeförhållanden, affärskontakter eller vänskapsband. Vanligtvis är vänskapsgrafer odödade eftersom de representerar ömsesidiga relationer, och ibland viktas de för att representera styrkan i bindningen mellan två personer.
Många studier fokuserar på oreglerade grafer som endast koncentrerar sig på föreningar. Du kan också använda riktade grafer för att visa att Person A vet om Person B, men Person B vet inte ens att Person A existerar. I det här fallet har du faktiskt 16 olika typer av triader att överväga.
När man letar efter kluster i ett vänners diagram är förbindelserna mellan noder i dessa kluster beroende av triader - i huvudsak speciella sorts trianglar. Anslutningar mellan tre personer kan falla in i dessa kategorier:
- Stängd: Alla tre personer känner varandra. Tänk på en familjeställning i det här fallet, där alla känner till alla andra.
- Öppna: En person känner till två andra människor, men de två andra känner inte varandra. Tänk på en person som känner en individ på jobbet och en annan individ hemma, men den som är på jobbet vet inte någonting om individen hemma.
- Ansluten par: En person känner till en av de andra i en triad men känner inte till den tredje personen. Denna situation innebär att två personer som känner till något om varandra möter någon ny - någon som eventuellt vill vara med i gruppen.
- Ej ansluten: Triaden bildar en grupp, men ingen i gruppen känner varandra. Den här sista kan verka lite udda, men tänk på en konferens eller ett seminarium.Folket vid dessa händelser utgör en grupp, men de kanske inte vet någonting om varandra. Men eftersom de har liknande intressen kan du använda gruppering för att förstå gruppens beteende.
Triader förekommer naturligt i relationer, och många Internet sociala nätverk har utnyttjat denna idé för att påskynda förbindelserna mellan deltagarna. Tätheten av anslutningar är viktig för alla typer av sociala nätverk eftersom ett anslutet nätverk kan sprida information och dela innehåll lättare. Till exempel när LinkedIn, det professionella sociala nätverket, beslutade att öka anslutningstätheten i sitt nätverk, började det med att leta efter öppna triader och försöka stänga dem genom att bjuda in människor att ansluta. Avslutande triader ligger till grund för Linkedins Connection Suggestion-algoritm. Du kan upptäcka mer om hur det fungerar genom att läsa Quoras svar.
Exemplet här bygger på Zacharys Karate Club-provdiagram. Det är ett litet diagram som låter dig se hur nätverk fungerar utan att lägga mycket tid på att ladda en stor dataset. Lyckligtvis visas denna dataset som en del av paketet
networkx
. Zacharys karateklubbsnät representerar vänskapsrelationerna mellan 34 medlemmar i karateklubben 1970-1972. Sociologen Wayne W. Zachary använde det som ett ämnesområde. Han skrev ett papper med titeln "En informationsflödesmodell för konflikt och fission i små grupper. "Det intressanta faktumet om den här grafen och dess papper är att i dessa år uppstod en konflikt i klubben mellan en av karateinstruktörerna (nod nummer 0) och klubbens president (nod nummer 33). Genom att klustra grafen kan du nästan helt förutsäga splittringen av klubben i två grupper kort efter förekomsten.
Eftersom det här exemplet också visar ett diagram som visar grupperna (så att du kan visualisera dem enklare), måste du också använda paketet
matplotlib
. Följande kod visar hur du kan grafisera noden och kanterna på datasetet.
import networkx som nx
import matplotlib. pyplot som plt
% matplotlib inline
graf = nx. karate_club_graph ()
pos = nx. spring_layout (graf)
nx. rita (graf, pos, with_labels = True)
plt. visa ()
För att visa den grafiska skärmen måste du också skapa en layout som bestämmer hur du placerar noderna på skärmen. I detta exempel används Fruchterman-Reingold-kraftstyrd algoritm (samtalet till
nx. Spring_layout
). Figuren visar utgången från exemplet. (Din produktion kan se lite annorlunda ut.)
Fruchterman-Reingold kraftstyrd algoritm för att generera automatiska layouter av diagram skapar begripliga layouter med separerade noder och kanter som tenderar att inte korsa genom att efterlikna vad som händer i fysiken mellan elektriskt laddade partiklar eller magneter som bär samma tecken. När man tittar på grafutmatningen kan man se att vissa noder bara har en anslutning, några två och några fler än två.Kanterna bildar triader, som tidigare nämnts. Det viktigaste övervägandet är dock att siffran tydligt visar klustringen som inträffar i ett socialt nätverk.