KalelPark's LAB

[ SciPy ] Scipy를 활용하여, 원소간 거리 구하기 본문

Python/SciPy

[ SciPy ] Scipy를 활용하여, 원소간 거리 구하기

kalelpark 2023. 1. 4. 14:33

Calculating Distance

        - Python의 Scipy(Calculating pair-wise distance)를 활용해서, 각 원소 간 짝을 이뤄 거리를 계산합니다.

                - pdist() : return condensed distance matrix Y (축소된 거리를 반환합니다.)

                - cdist() : returns M by N distance Matrix (원소간 쌍을 이루어, 거리를 계산합니다.)                        

                                 pdist와 다르게, 두 개의 행렬을 받을 뿐만 아니라, 거리 행렬(condensed distance Matrix)을 반환합니다.     

        

        * 여러가지 거리 측정 방식을 제안합니다.        (하단의 링크를 참고하시기 바랍니다.)

                  

EX>

from scipy.spatial.distance import cdist, pdist

cdist(X, metric = "euclidean")
pdist(X, X, metric = "euclidean")

pdist

     - X 벡터 또는 행렬에서 각 원소 간 짝을 이루어서 유클리디언 거리를 계산합니다. 
       그리고, 응축된 형태의 거리 행렬(Condensed distance Matrix)를 반환합니다.

cdist

     - 2개의 행렬을 받으며, 원소 간 쌍을 이루어, 유클리디언 거리를 계산합니다.

        Input으로 XA, XB의 2개의 행렬을 받습니다.

        Output으로 M by N 거리 행렬을 반환합니다. ( pdist()는 condensed distance matrix를 반환합니다. )

 

참고(Reference)

https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.pdist.html#scipy.spatial.distance.pdist

 

scipy.spatial.distance.pdist — SciPy v1.10.0 Manual

The distance metric to use. The distance function can be ‘braycurtis’, ‘canberra’, ‘chebyshev’, ‘cityblock’, ‘correlation’, ‘cosine’, ‘dice’, ‘euclidean’, ‘hamming’, ‘jaccard’, ‘jensenshannon’, ‘kulczynski1’,

docs.scipy.org

https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.cdist.html#scipy.spatial.distance.cdist

 

scipy.spatial.distance.cdist — SciPy v1.10.0 Manual

The distance metric to use. If a string, the distance function can be ‘braycurtis’, ‘canberra’, ‘chebyshev’, ‘cityblock’, ‘correlation’, ‘cosine’, ‘dice’, ‘euclidean’, ‘hamming’, ‘jaccard’, ‘jensenshannon’, ‘ku

docs.scipy.org

 

Comments