데이터 사이언스 13

삼국지 등장인물 상호작용 네트워크 만들기

목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스이번 포스트에서는 제가 그동안 작성해 온 네트워크 관련 모든 포스트를 활용하여 삼국지 등장인물 간의 상호작용 네트워크를 생성하고 분석해 보겠습니다. 이번 포스트의 최종 목표는 아래와 같이 네트워크를 시각화하는 것입니다.1. Mecab으로 삼국지 텍스트에서 형태소 추출하기1 - 1. Mecab 사전에 삼국지 등장인물 이름 등록하기가장 먼저 해야 할 작업은 삼국지 텍스트에서 형태소를 추출하는 것입니다. 이 과정을 위해 Mecab을 사용하겠습니다.Mecab의 설치 방법은 아래 포스트를 참고하시기 바랍니다.HTML 삽입미리보기할 수 없는 소스 이번 포스트에서는 파이참(Pycharm)에 mecab을 설치하고 사용하는 방법에 대해서..

파이참(Pycharm)에서 mecab 사용하기

목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 이번 포스트에서는 파이참(Pycharm)에 mecab을 설치하고 사용하는 방법에 대해서 다뤄보겠습니다.1. 설치Mecab은 일본에서 개발된 형태소 분석기입니다. 한국의 문법 체계가 일본과 유사하기 때문에 은전한닢 프로젝트를 통해 한국어에 맞게 개발되었고, 현재 한국어 자연어 처리를 위해 많이 사용되고 있습니다.설치 방법은 아래와 같습니다.(1) 먼저, C 드라이브에 mecab 이라는 폴더를 만들어줍니다. ('C:\mecab')(2) https://github.com/Pusnow/mecab-ko-msvc/releases/tag/release-0.9.2-msvc-3 링크에서 본인의 윈도우 비트에 맞는 zip 파일을 다운 받..

네트워크 데이터 분석 - Community detection: Label propagation

목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스이번 포스트에서는 커뮤니티 탐지의 마지막 알고리즘인 label propagation에 대해서 다루겠습니다.1. ProcedureLabel propagation은 한 노드의 이웃들은 보통 같은 커뮤니티에 속한다는 아이디어에서 출발합니다. 알고리즘의 절차는 다음과 같습니다.각 노드를 다른 커뮤니티에 할당합니다. 즉, 각 노드에 다른 label을 부여합니다.모든 노드를 무작위한 순서로 방문하면서 다음을 수행합니다: 해당 노드의 label을 다수의 이웃들이 갖는 label로 바꿔줍니다. 만약 동률이 있다면,  동률인 label중 하나를 무작위로 선택합니다.모든 노드가 다수의 이웃들에 할당된 label을 갖게 되면 (station..

네트워크 데이터 분석 - Community detection: Modularity

목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스이번 포스트에서는 커뮤니티 탐지 알고리즘중 modularity(모듈성)를 이용하는 알고리즘들에 대해서 다루겠습니다.1. Modularity(모듈성)지난 포스트에서는 Girvan-Newman 알고리즘을 이용하여 네트워크의 partition을 구했습니다. 하지만 Girvan-Newman 알고리즘은 hierarchical clustering을 이용하기 때문에 여러 partition들을 제시할 뿐, 어떤 partition을 선택해야하는 지에 대해서는 아무런 답을 주지 않습니다. (Girvan-Newman 알고리즘에 더 알고 싶으시면 아래의 링크를 참고해 주세요.)HTML 삽입미리보기할 수 없는 소스 이번 포스트에서는 네트워크에서..

네트워크 데이터 분석 - Community detection: Girvan-Newman algorithm

목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 이번 포스트에서는 네트워크에서 community를 탐지하는 알고리즘중 하나인 Girvan-Newman algorithm에 대해서 다뤄보겠습니다.현실의 네트워크는 assortativity와 같은 이유로, 비슷한 사람 또는 노드 끼리 연결되고, 그 결과로 커뮤니티 구조가 나타난다는 것을 지난 포스트에서 다뤘습니다. 학교나 반과 같은 커뮤니티는 데이터로 주어지지만, 보통 네트워크 데이터에서 커뮤니티에 대한 정보는 주어지지 않습니다. 이러한 경우, 네트워크에서 커뮤니티들을 탐지 (community detection)할 필요가 있습니다. Community detection은 노드 클러스터링의 한 종류이며, 때로는 클러스터링보다 ..

네트워크 데이터 분석 - partitioning & clustering

목차 ">HTML 삽입미리보기할 수 없는 소스 지난 포스트에서는 community structure가 무엇인지, 그리고 관련 정의들과 특징에 대해 다뤘다면, 이번 포스트에서는 community structure와 관련된 문제인 network partitioning과 hierchical clustering에 대해 다뤄보겠습니다.Community structure에 대해 알고 싶다면 아래의 링크를 참고해 주세요.HTML 삽입미리보기할 수 없는 소스이번 포스트에서는 네트워크의 특징중 하나인 커뮤니티 구조 (community structure)에 대해 다뤄보겠습니다.1. What is it?현실 네트워크의 노드들" data-og-host="sanghn.tistory.com" data-og-source-url..

네트워크 데이터 분석 - robustness, core decomposition, assortativity

목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 이번 포스트에서는 네트워크의 robustness (강건성), core decomposition 그리고 네트워크에 그룹이 2개 있는 경우에 정의가 가능한 heterophilicity (이호성)과 dyadicity (이극성)에 대해 다뤄 보겠습니다.1. Robustness (강건성)보통 시스템이 robust 하다고 하면, 시스템의 일부분이 작동하지 않아도 전체의 기능에 영향을 주지 않는 경우를 말합니다.네트워크에서도 비슷하게 robustness를 정의할 수 있습니다. 노드나 edge를 제거할 때 전체 네트워크 구조가 어떻게 변하는지 보면 됩니다. 그러므로, 네트워크의 robustness의 키포인트는 connectedness..

네트워크 데이터 분석 - Centrality

목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 이번 포스트에스는 노드의 구심성 (centrality) 에 대해서 다뤄보겠습니다.1. What is it?현실 네트워크의 특징중 하나는 모든 노드나 edge가 같은 중요성을 갖지 않는다는 것입니다. 특정 노드 또는 edge는 네트워크에서 더욱 중요한 위치를 차지하고 있죠. 예를 들어, 친구 네트워크의 경우, 굉장히 E인 (또는 인싸인) 친구가 네트워크에서 중추적인 역할을 차지하고 있는 경우를 많이 볼 수 있습니다. 그 친구를 중심으로 여러 친구들이 모이고, 그 친구를 통해서 내가 잘 모르는 다른 친구들의 이야기도 들을 수 있죠. 이러한 친구 또는 노드를 central 하다고 합니다.하지만 노드의 centrality는 또..

네트워크 데이터 분석 - 현실 네트워크의 특징들

목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 이번 포스트에서는 현실 네트워크의 가장 큰 특징인 assortativity (동류성), small world, friend of friend를 다뤄보고자 합니다.1. Assortativity (동류성, 유유상종)1 - 1. 정의유유상종(類類相從) 이라는 사자성어가 있습니다. 다들 아시다시피 같은 무리 안에서 서로 사귄다는 의미입니다. 영어에도 비슷한 표현이 있습니다. Birds of a feather flock together, 같은 깃털의 새들이 떼지어 다닌다는 의미이죠. 동서양 양측 문화권에서 속담이나 격언으로 포착될 만큼, 같은 특징을 짓는 무리들이 서로 사귀고 몰려 다니는 현상은 현실의 네트워크에서 흔히 관측되는..

네트워크 데이터 분석 - Networkx

HTML 삽입미리보기할 수 없는 소스 HTML 삽입미리보기할 수 없는 소스 이번 포스트에서는 네트워크 데이터 분석의 기초가 되는 개념들을 다뤄보겠습니다.1. 그래프의 구성 요소네트워크 데이터란 두 관측치" data-og-host="sanghn.tistory.com" data-og-source-url="https://sanghn.tistory.com/12" data-og-image="https://scrap.kakaocdn.net/dn/0MPfx/hyWoNXfXIl/U1O45woDzfljzFBQYKsym1/img.png?width=800&height=785&face=0_0_800_785,https://scrap.kakaocdn.net/dn/zKwwr/hyWoKTJJbT/D9U4ALjgEm8qtqqmf3Re..