Mahalnobis Distance
노란색: 공분산 행렬
변수들간에 모두 독립적이고 Variance(분산)가 1로 정규화된다면 그 때 공분산 행렬은 항등원 행렬이 되며 이 때 마할라노비스 거리는 유클리디안 거리와 같아집니다.
즉, 마할라노비스거리는 변수들간 독립적일 때는 유클리디안 거리공식으로 바뀝니다.
* 주의할 점: 마할라노비스 거리를 구할 때, KNN을 이용한 알고리즘을 구현하는 경우에는
예측할 데이터셋을 포함하여 공분산을 구하고, 해당되는 변수간의 거리를 구해야합니다...
예측할 데이터셋을 포함하지않으면, 그 전에 분포하는 데이터들끼리의 분포만을 고려하게 되어 제대로된 마할라노비스 거리구현이 어렵습니다.
파이썬으로 변수간의 공분산을 구하는 방법 중 두가지를 소개해드리겠습니다.
1. 넘파이를 이용하여 구현하기
- 배열 내, 배열 간 공분산을 구해줌
numpyarr.cov()
2. 판다스를 이용하여 구현하기
- 표 자체의 공분산을 구해줌
df.cov()
해당 게시글의 코드는
https://github.com/Kangsuyeon01/data-science-from-scracth-2nd-note
를 참고해주시길 바랍니다.
+ 직관적으로 이해하기
'공부정리 > Deep learnig & Machine learning' 카테고리의 다른 글
[핵심 머신러닝] 로지스틱회귀모델 2 (파라미터 추정, 해석) (0) | 2022.08.03 |
---|---|
[핵심 머신러닝] 로지스틱회귀모델 1 (로지스틱함수, 승산) (0) | 2022.08.03 |
[핵심 머신러닝] K-nearest neighbors & Distance Measures - 강의 정리 (0) | 2022.07.27 |
[핵심 머신러닝] 선형회귀모델 4 (R2, ANOVA) - 강의 정리 (0) | 2022.07.22 |
[핵심 머신러닝] 선형회귀모델 3 (파라미터 구간추정, 가설검정) - 강의 정리 (0) | 2022.07.22 |