본문 바로가기
Machine learning 잡담

KNN (KNeighborsClassifier), K means의 차이점

by 드럭인포메이션 2020. 11. 13.

가장 큰 차이는 분류(Classifier)와 군집(Clustering) 차이!

 

Kmeans = Clustering

KNN = Classifier

 

둘다 가까운 친구들을 이용해서 분석하는 방법.

 

둘다 K가 들어가는데, 여기 들어가는 K의 경우 Classification, Clustering을 하는 참조기준이 된다.

 

Kmeans에서는 K

 

 군집을 만들는 개수 위한 기준이 되고, 여러 알고리즘을 통해서 군집화시킨다.

(중심대비 거리의 제곱합과 같은 알고리즘, 참조-wikipedia)

그러나 Kmeans의 경우 임의로 군집들의 중심을 잡기때문에, 돌리면 돌릴수록 결과값들이 달라질 수 있다.

 

반면, KNN의 경우는 K개를 참조하여 분류를 하는 방법이다. 

K가 높으면 높을수록 주변 데이터들과의 거리와 분류를 계산 해야되므로 느려진다.

특별한 모델을 만들지 않기 때문에 Lazy model이라고 부른다.

고차원의 데이터를 분석할 경우 차원축소 후 분석을 진행해야한다.

K==1일 경우 최근접 이웃 알고리즘이라고 부른다.(참조 - wikipedia)

K의 값은 너무 적어도 문제, 너무 커도 문제다 (Overfitting, Underfitting)

댓글