まず、Rのパッケージである「class」をインストールし、読み込みます。
install.packages("class")
library(class)
次に、KNNを適用するデータセットを準備します。例として、Irisデータセットを使用します。
data(iris)
データセットをトレーニングセットとテストセットに分割します。一般的な方法は、データの70〜80%をトレーニングセット、残りの20〜30%をテストセットとして使用することです。
set.seed(123)
train_indices <- sample(1:nrow(iris), 0.7*nrow(iris))
train_set <- iris[train_indices, ]
test_set <- iris[-train_indices, ]
KNNを適用する前に、データを正規化することが推奨されます。このために、train_setとtest_setの特徴量をスケーリングします。
train_set_scaled <- scale(train_set[, -5])
test_set_scaled <- scale(test_set[, -5])
KNNアルゴリズムを適用して、予測を行います。ここでは、Kの値を3としましょう。
k <- 3
predicted_species <- knn(train = train_set_scaled, test = test_set_scaled, cl = train_set$Species, k)
最後に、予測の正確度を計算します。予測結果と実際のクラスを比較し、正確に予測できた割合を算出します。
accuracy <- sum(predicted_species == test_set$Species) / length(test_set$Species)
以上で、RでKNNの正確度を計算する方法が説明されました。このコード例を使えば、他のデータセットに対しても同様の手順で正確度を計算することができます。
以上が「RでKNNの正確度を計算する方法」に関する解説です。この記事を参考にして、KNNの正確度を評価する際に役立ててください。