-
R 기초 32 - K-최근접 이웃(K-Nearest Neighbor, KNN)R 2022. 10. 27. 16:24
# K-최근접 이웃(K-Nearest Neighbor, KNN) # 분류와 회귀 모두 더 가까운 이웃일수록 더 먼 이웃보다 평균에 더 많이 기여하도록 이웃의 기여에 # 가중치를 주고 분류 및 회귀를 하는 모델 install.packages("ggvis") library(ggvis) library(class) # 랜덤을 위한 시드 값 세트 set.seed(1234) # 트레이닝-테스트로 67%, 33%씩 나눈다. random_samples <- sample(2, nrow(iris), replace=TRUE, prob=c(0.67,0.33)) # 트레이닝 데이터 세트 iris.training <- iris[random_samples == 1, 1:4] # 트레이닝 라벨 iris.trainLabels <- iris[random_samples == 1, 5] # 테스트 데이터 세트 iris.test <- iris[random_samples == 2, 1:4] # 테스팅 라벨 iris.testLabels <- iris[random_samples == 2, 5] # k = 3에 대해 KNN실행 iris_model <- knn(train = iris.training, test = iris.test, cl = iris.trainLabels, k = 3) iris_model pred <- predict(model, test, type='class') t <- table(pred, test$Species) t sum(diag(t)) / nrow(test)
'R' 카테고리의 다른 글
R 기초 34 - 머신러닝의 종류(지도 학습, 비지도 학습, 강화 학습) (0) 2022.10.28 R 기초 33 - 인공신경망 (ANN : Artificial Neural Network) - Perceptron (0) 2022.10.27 R 기초 31 - 서포트 벡터 머신(SVM) (0) 2022.10.27 R 기초 30 - Naive Bayes 분류 모델 (0) 2022.10.27 R 기초 29 - 랜덤 포레스트(randomForest) (0) 2022.10.27