機械学習(k近傍法編)
パッケージの読み込み
library(kernlab)
library(class)
データセットにirisを取り込み、教師データと検証用データに分割します
data(iris)
n<-seq(1,nrow(iris),by=2)
iris.train<-iris[n,]
iris.test<-iris[-n,]
set.seed(1)
k近傍法のモデルを構築します
knn.result<-knn(iris.train[,-5],iris.test[,-5],iris.train[,5],k=5)
結果を確認する
head(knn.result)
[1] setosa setosa setosa setosa setosa setosa
Levels: setosa versicolor virginica
(knn.tab<-table(iris.test$Species,knn.result))
knn.result
setosa versicolor virginica
setosa 25 0 0
versicolor 0 24 1
virginica 0 0 25
予測精度を確認します
sum(diag(knn.tab))/sum(knn.tab)
[1] 0.9866667
98.7%といい結果です。
この記事が気に入ったらサポートをしてみませんか?