유클리드 거리 계산은 데이터간 유사도를 판단하는 기준으로 활용되며,
추후에 포스팅할 추천시스템에서도 활용된다.
간단히 설명하면 위와 같은 데이터 그룹안에 아래 화면처럼 새로운 신규 데이터가 들어오게 된다.
위 예시는 기존에 있던 데이터를 sweet와 crunchy 두 기준으로 fruit, vegetable, protein 그룹으로 구분한 것이다.
여기서 신규 진입한 데이터인 토마토가 어떤 그룹에 속할지 계산을 해야하는데, 이 때 우리는
유클리드 함수를 사용할 수 있다.
즉 x좌표는 x좌표끼리, y좌표는 y좌표끼리 뺸 후 제곱한것을 더하여, 이 값에 루트를 씌워주면 되는 것이다.
예를 들어, 토마토의 sweetness가 6이고, crunchiness 가 4이고, 이 때 green bean의 sweetness 가 3, crunchiness 가 7이라면
위와 같이 당도는 당도끼리, crunchiness 는 cruchiness 끼리 빼주면 되는 것이다.
이렇게 나온 값이 유클리드 거리이며, 이 거리가 작을수록 해당 데이터끼리 유사성을 가진다고 할 수 있다.
이렇게 다 계산을 해준후, 거리 순으로 정렬을 해보면 orange, grape, nuts, green bean 순으로
Tomato와 유사도가 큰 것을 알 수 있다.
'데이터분석 > with R' 카테고리의 다른 글
[R] R로 구현하는 신경망 이론 (2) | 2017.12.22 |
---|---|
[R] 암상자 기법과 신경망이론의 정의 및 구성 (0) | 2017.12.19 |
[R] R로 구현하는 KNN(게으른 학습) 알고리즘 - (2) (0) | 2017.12.16 |
[R] R로 구현하는 KNN(게으른 학습) 알고리즘 - (1) (0) | 2017.12.16 |
[R] 부스팅(앙상블)을 활용한 의사결정나무 정확도 향상 (4) | 2017.11.19 |