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)
댓글