마할라노비스 거리

Hyunchul·2022년 1월 28일
0

N차원에서의 배열이 있고, 그것이 하나의 분포를 따른다고 가정했을 때 중심으로 정도를 구하기 위해서 사용되는 metric이다. from scipy.spatial.distance.mahalanobis()와 같은 결과를 얻었다.

def calculate_distance_mahalanobis(X):
  mean = np.mean(X, axis=0)
  cov = np.cov(X.T)
  inv_cov = np.linalg.inv(cov)
  l = np.dot((X-mean), inv_cov)
  dist = np.sqrt(np.dot(l, (X-mean).T).diagonal())

  return mean, cov, dist

0개의 댓글