Data & ML & AI/NetworkX
-
[NetwrokX] 어떤 노드들이 새로 친구가 될까? Link Prediction #2Data & ML & AI/NetworkX 2023. 1. 21. 01:51
지난 글에서는 기존 네트워크 그래프에서 node의 개수는 그대로인 상태로 어떤 edge가 새로 생성될지 예측하는 방법론을 다루어 보았습니다. [NetwrokX] 어떤 노드들이 새로 친구가 될까? Link Prediction #1 지난 글에서는 새로 들어온 노드가 어떤 노드와 연결이 될지를 확률적으로 계산하는 Preferential Attatchment Model을 알아보았습니다. [NetworkX] 새로운 노드는 어디에 어떤 노드와 연결될까?Preferential At brain-nim.tistory.com 방법1. 공통이웃을 얼마나 가지고 있는가? 방법2. 자카드 계수 방법3. 자원할당 방법4. Adamic-Adar Index 방법5. Preferential Attachment Model 위의 방법들은..
-
[NetwrokX] 어떤 노드들이 새로 친구가 될까? Link Prediction #1Data & ML & AI/NetworkX 2023. 1. 16. 19:59
지난 글에서는 새로 들어온 노드가 어떤 노드와 연결이 될지를 확률적으로 계산하는 Preferential Attatchment Model을 알아보았습니다. [NetworkX] 새로운 노드는 어디에 어떤 노드와 연결될까?Preferential Attachment Model (Barabasi Albert Model) 실 세계에서의 Degree 분포 한 학교에 새로 전학생이 왔습니다. 이 친구는 누구와 친구가 될 가능성이 가장 높을까요? 앉는 자리와 같은 변수를 제거한다면, "이미 친구가 많은" 아이와 친구가 될 brain-nim.tistory.com 새로 edge, link가 생성되는 경우로는 전학생(새로 추가된 노드)이 오는 경우만 있지 않습니다. 이미 같은 반이였던 동급생끼리도 친구가 될 수 있습니다. 기..
-
[NetworkX] 새로운 노드는 어디에 어떤 노드와 연결될까?Preferential Attachment Model (Barabasi Albert Model)Data & ML & AI/NetworkX 2023. 1. 12. 20:07
실 세계에서의 Degree 분포 한 학교에 새로 전학생이 왔습니다. 이 친구는 누구와 친구가 될 가능성이 가장 높을까요? 앉는 자리와 같은 변수를 제거한다면, "이미 친구가 많은" 아이와 친구가 될 가능성이 가장 높습니다. 실제 세계에서는 관계망을 이미 많이 가진 것들이 더 많은 관계를 가지게 될 가능성이 높습니다. A: 한 영화에 같이 나온 적이 있는 영화배우들의 관계망 B: 하이퍼링크로 연결된 웹 연결망 C: 미국 전력 변전 연결망 A,B,C의 네트워크 모두, 관계(Degree)를 극도로 많이 가지고 있는 노드는 극소수이고, 적은 수의 관계를 가지고 있는 노드가 다수임을 확인할 수 있습니다. 관계망의 빈익빈 부익부인 셈이죠. 이러한 실 세계 현상을 모델화 한 것을 바라바시 알베르트 모델(Barabas..
-
[NetworkX] Assignment 3 - Influence Measures and Network CentralizationData & ML & AI/NetworkX 2023. 1. 11. 02:38
본 게시물은 Coursera의 Applied Social Network Analysis in Python(by Daniel Romero)를 통해 자습하며 작성한 게시물입니다. 이 Assignment는 Coursera Jupyter 콘솔에서만 제대로 진행할 수 있습니다. (데이터 파일을 따로 제공하지 않기 때문입니다.) Part1 개괄 원본 Answer questions 1-4 using the network G1, a network of friendships at a university department. Each node corresponds to a person, and an edge indicates friendship. import networkx as nx G1 = nx.read_gml('as..
-
[NetworkX] HITS 알고리즘 (HITS Algorithm)Data & ML & AI/NetworkX 2023. 1. 10. 00:15
네트워크 그래프에서 노드의 중심성을 파악하고 계산하는 방법들을 살펴보았습니다. 연결중심성(Degree Centrality)과 근접중심성(Closeness Centrality) 매개중심성(Betweenness Centrality) 페이지랭크(Page Rank) 이번엔 페이지랭크와 유사 하면서도 특별한 차이를 갖는 알고리즘을 소개합니다. "얼마나 중심이 되는가", "얼마나 hub로서 역할을 하는가"를 별개로 계산하는 방법을 소개합니다. 바로 HITS 알고리즘(Hypertext Induced Topic Selection, HITS Algorithm)입니다. 페이지랭크와 구분되는 HITS 알고리즘의 차이점 페이지랭크와 구분되는 HITS 알고리즘의 특별한 점은 크게 두가지로 볼 수 있습니다. 1) 전체 그래프를 ..
-
[NetworkX] 페이지랭크 (PageRank)Data & ML & AI/NetworkX 2023. 1. 4. 01:18
지난 글에서는 페이지랭크의 원리를 간략하게 살펴보았습니다. 페이지랭크 (PageRank) 원리 네트워크 그래프에서 노드의 중심성을 파악하고 계산하는 방법들을 살펴보았습니다. 연결중심성(Degree Centrality)과 근접중심성(Closeness Centrality) 매개중심성(Betweenness Centrality) 중심성을 파악하는 brain-nim.tistory.com 이번에는 NetworkX로 페이지랭크를 구현, 계산해 보겠습니다. PageRank 페이지 랭크 import networkx as nx edges = [('A','B'),('B','C'),('B','D'),('C','B'),('D','A'),('D','C'),('D','E'),('E','A')] G = nx.DiGraph() G.a..
-
페이지랭크 (PageRank) 원리Data & ML & AI/NetworkX 2022. 12. 23. 20:33
네트워크 그래프에서 노드의 중심성을 파악하고 계산하는 방법들을 살펴보았습니다. 연결중심성(Degree Centrality)과 근접중심성(Closeness Centrality) 매개중심성(Betweenness Centrality) 중심성을 파악하는 간단하고 효율적인 또 다른 방법으로 페이지랭크(PageRank)가 있습니다. PageRank 페이지 랭크 "하이퍼링크 네트워크 구조에서 웹페이지들의 중요성을 어떻게 측정할까"에 대한 고민으로 구글이 개발 핵심 개념 및 가정 : 중요한 노드들은 또다른 중요한 페이지로부터 많은 유입 링크를 가진다. 방향성을 가진 네트워크에 효과적 한 노드의 페이지랭크 점수는 다른 노드의 페이지랭크 점수에 의존적 (따라서 여러번 반복적으로-순환적Circular으로- 계산하고 업데이트..
-
[NetworkX] 매개중심성 (Betweenness Centrality)Data & ML & AI/NetworkX 2022. 12. 11. 19:50
지난 글에는 연결중심성(Degree Centrality)과 근접중심성(Closeness Centrality)를 살펴보았습니다. [NetworkX] 연결중심성, 근접중심성 (Degree Centrality, Closeness Centrality) 여기에 가라데 클럽에 속한 34명의 친구관계를 나타낸 네트워크 그래프가 있습니다. import networkx as nx G = nx.karate_club_graph() G = nx.convert_node_labels_to_integers(G,first_label=1) 여기서 가장 중요한 노드를 brain-nim.tistory.com 또 어떤 기준으로 중요한 노드를 뽑을 수 있을지 똑같은 그래프를 예시로 실습해 보겠습니다. import networkx as nx ..