모두들 아시겠지만 요즘 SNS의 인기에 따라서 소셜 네트워크와 같은 네트워크를 분석하는 것이 엄청난 인기를 누리고 있습니다. 그 중에서 가장 기본적인 Adjacency matrix와 그것을 활용하여 다른 node에 도달할 수 있는지를 알아보는 Reachability matrix까지 살펴보겠습니다.
아래와 같은 Directed graph(방향성이 있는 그래프)를 살펴봅시다. 이렇게 graph로도 표현이 가능하지만, 이것을 matrix형태로 바꿀 수도 있습니다. 이 때 이 matrix를 Adjacency Matrix라고 부릅니다. 각 행은 출발하는 node를 의미하고, 각 열은 도착하는 node를 의미합니다. 1번 node에서는 2번과 3번 node로 갈 수 있기 때문에, matrix의 첫째 행은 2번과 3번에만 1이 들어가게 됩니다.

Continue reading
이번에 살펴볼 예제는 Interpolation에 관련된 예제입니다. 우리나라 말로 보간법, 또는 내삽이라고도 불리는 이것은 우리가 알고 있는 discrete한 sample들을 바탕으로 우리가 가지고 있지 않는 점의 값을 추정하는 방법입니다. 예를 들면,

이 그림과 마찬가지로, 가장 간단하게 두 점 사이의 값들을 추정하는 방법은 직선을 그어서 그 값을 활용하는 방법입니다. 그러면 어떻게 Python을 활용하여 이 값들을 추정하는지 알아봅시다.
Continue reading
이번에 알아볼 예제는 Python의 Scipy
의 optimize
라이브러리 중 fsolve
라는 함수를 알아보겠습니다. 이 fsolve
를 통해 우리는 $f(x)=0$을 만족시키는 해인 $x$를 찾아낼 수 있습니다. 인자는 2개를 받는데, 첫번째 인자가 $f(x)$이고, 두번째 인자는 초기에 어떤 점에서부터 찾기 시작할 것인지를 나타내는 인자입니다.
Continue reading
이번에 살펴볼 예제는 Numpy와 더불어 Scipy를 이용하여 주어진 데이터에 우리가 원하는 함수 꼴로 Model을 fitting하는 예제입니다. 앞서 R을 이용해 linear model을 만드는 것을 알아보기도 했었는데요, python의 scipy library를 이용하여 어떻게 model을 fitting하는지 알아보겠습니다. 먼저 다양한 수학적 tool과 자료구조를 위해 numpy
를 import하겠습니다. 그리고 model fitting을 위해 scipy.optimize
에서 curve_fit
을 import하겠습니다.
>>> import numpy as np
>>> from scipy.optimize import curve_fit
Continue reading