728x90
KNN 은 군집분석(Cluster Analysis)의 응용되는 개념입니다. 군집분석은 비지도학습이고, KNN 는 지도학습입니다.
군집분석은 집단을 구분하는 분류변수가 없이 그냥 독립변수들만 가지고, 어느 관측치들이 가까운가?를 (군집으로) 분류하는 기법입니다.
KNN 은 새로운 관측치가 들어오면, 관측치가 갖고 있는 변수들(독립변수들)을 가지고 기존의 관측치와 얼마나 가까운가를 계산한 다음, 가까운 몇 개의 기존의 관측치를 선택합니다.(k=3 과 같이)
이 때 이들 관측치들이 이미 어떤 그룹에 속하는 것인지를 알고 있으므로, 가장 많이 속한 그룹에 해당되는 것으로 결론을 내리는 기법이 KNN 입니다.
install.packages("class") # 패키지 class 설치
library(class) # 패키지 class 로딩
model_knn <- knn(train = iris[,1:4], test = iris[,1:4], cl = iris$Species, k=3)
# iris 데이터의 4개 변수이용, 클래스는 Species, k=3 으로 지정)
model_knn # KNN 예측 결과
summary(model_knn)
c.table <- table(model_knn,iris$Species) # 예측치와 실제치의 Confusion Matrix
c.table
'R연습 200제 > 11_00. R 응용' 카테고리의 다른 글
(R1)제14강(5.1)서포트벡터머신(SVM)-데이터 iris, 패키지(e1071) (0) | 2020.12.30 |
---|---|
(R1)제14강(3.1)의사결정나무 - 데이터(iris), 패키지(rpart) (0) | 2020.12.29 |
(R1)제14강(6.1) 신경망(Neural Network) 실습 - 데이터(iris), 패키지(neuralnet) (0) | 2020.12.29 |
(R1)제14강(0.0) R 응용(1) 목차 - 군집분석,KNN,의사결정나무,NaiveBayes, ... (0) | 2020.07.15 |