데이터분석/R

[ADP] K-NN (K-Nearest Neighbors)

버섯도리 2022. 1. 16. 15:15

> # 15. K-NN (K-Nearest Neighbors)


> # KNN은 데이터의 지역 구조(Local Structure)에 민감하다.

> # iris dataset의 KNN

> library(DMwR)

> df <- sample(1:nrow(iris), as.integer(0.7*nrow(iris)))
> trainiris <- iris[df,]
> testiris <- iris[-df,]

> nc3 <- kNN(Species~., trainiris, testiris, stand = FALSE, k=3) # k=3일 때, stand는 정규화 옵션
> table(testiris[,'Species'], nc3)
            nc3
             setosa versicolor virginica
  setosa         18          0         0
  versicolor      0         13         0
  virginica       0          1        13

> nc5 <- kNN(Species~., trainiris, testiris, stand = FALSE, k=5) # k=5일 때
> table(testiris[,'Species'], nc5)
            nc5
             setosa versicolor virginica
  setosa         18          0         0
  versicolor      0         13         0
  virginica       0          1        13

 

 

 

 

 

출처 : 2020 데이터 분석 전문가 ADP 필기 한 권으로 끝내기