본문 바로가기
[Industry Knowledge Sharing]/Graduate

Social Network Analysis Python

by David Jeong7 2026. 5. 17.
반응형

사람이나 사물이 어떻게 연결되어 있는지 지도처럼 그려서 확인

→ 누가 가장 친구가 많은지, 정보가 어떻게 퍼지는지 한눈에 볼 수 있음

노드(Nodes)와 엣지(Edge)로 연결된 관계

 

최신 데이터 분석에서 Python 중요성

 

Python의 장점

  • 상용 소프트웨어는 중요한 기능이 제한되는 경우가 많음
  • 데이터 분석에서는 전처리 과정이 매우 중요
  • 최신 연구 결과와 패키지는 대부분 Python 기반
  • 딥러닝 분석은 Python 생태계와의 연계가 사실상 필수

- 라이브러리가 핵심 기반 : NumPy, SciPy

최신 네트워크 분석 및 딥러닝 연구는 Python 중심으로 발전

 

Python 실행 방식

 

  파일이름.py(터미널 방식) 파일이름.ipynb (Jupyter Notebook 방식)
작업 방식 처음부터 끝까지 한 번에 실행하기 (중간에 확인하기 어려움) 한 칸씩 실행하기 (중간 확인하기 쉬움)
특징 터미널에서 실행, 협업에 적합, 프로그램 형태 개발에 유리 - 코드 실행 결과를 즉시 확인 가능, 셀 단위 실행 가능, 시각화 및 실험에 유리
- 탐색적 데이터 분석(EDA)과 연구에서는 Notebook 방식이 많이 사용
장점 - 개인 연구에 적합, 데이터 분석/머신러닝 실험에 매우 효율적
단점 중간 결과 확인이 어려움, 디버깅이 불편할 수 있음 -
  Google Colab (Github 연결 Google Drive의 파일을 불러오고 저장)

 

Python 실습환경으로 Google Colab 소개

 

- Colab 특징

  • Google Drive 기반 Jupyter Notebook 환경
  • 별도 설치 없이 웹 브라우저에서 사용 가능
  • GPU 사용 가능
  • Github 및 Google Drive 연동 가능

- 장점 : 설치 불필요(Google 계정만 있으면 어디서든 실행 가능), 높은 접근성, 머신러닝/딥러닝 활용 가능(GPU 환경 제공)

- 제한 사항 : 무료 버전에서는 장시간 작업 제한(크롤링 10시간 초과), 고성능 딥러닝 작업 제한(단 연구 및 수업 목적에는 충분한 성능 제공)

 

Phthon 기반의 그래프/네트워크 분석 라이브러리인 NetworkX 기본 개념

 

- 활용 분야 : 사회연결망분석, 그래프 알고리즘, 중심성 분석, 커뮤니티 분석, 시각화

① NetworkX로 할 수 있는 기본 작업 - 그래프 객체 생성 : 네트워크 구조 생성

예) 

import networkx as nx

G = nx.Graph()
 

② 노드(Node) 추가

G.add_node("A")
 
③ 엣지(Edge) 추가
G.add_edge("A", "B")
 
④ 그래프 저장 및 불러오기 : 네트워크 데이터를 파일 형태로 저장 가능

   예) Adjacency Matrix, Edge List

 

그래프 데이터 표현 방식

 

1) Adjacency Matrix(인접행렬) - 노드 간 연결 여부를 행렬로 표현

   - 특징 : 수학적 처리 용이, 행렬 연산 가능, GNN/GCN에서 핵심 입력 데이터

2) Edge List - 연결 정보를 리스트 형태로 저장

 

예)

A B
A C
B D
 

   - 특징 : 직관적, 저장 효율이 좋음

 

Networkx 내부 구조 - 딕셔너리(dictionary) 구조 사용

 

노드 정보, 이웃 정보, 타입 정보등이 함께 저장

G = {
  "Node": "Information"
}
 

주요 속성

모든 노드(Node) 조회

G.nodes
 
모든 엣지(Edge) 조회
G.edges
 
주제 핵심내용
Python 활용 이유 최신 데이터 분석 및 딥러닝 중심 언어
.py 방식 협업/프로그램 개발 적합
Jupyter Notebook 실험/연구에 적합
Google Colab 클라우드 기반 Python 실습 환경
NetworkX Python 네트워크 분석 핵심 라이브러리
Adjacency Matrix 연결 관계를 행렬로 표현
Edge List 연결 관계를 리스트로 표현
반응형