For loop example.
# testing which number of clusters is the best.
load("01_analiza_i_przeksztalcenia_cech.RData")
dane <- dane[, c(names(dane)[sapply(dane, is.numeric)], "BAD")]
# losowanie podzbiorĂłw
n <- dim(dane)[1]
# losujemy obiekty do zbioru uczÄ…cego i testowego
learning.set.index <- sample(1:n,1/2*n)
# tworzymy zbiĂłr uczÄ…cy i testowy
learning.set <- dane[learning.set.index,]
test.set <- dane[-learning.set.index,]
k <- seq(1, 70, 5)
res <- data.frame(k = k, err.learn = numeric(length(k)), err.test = numeric(length(k)))
for (i in 1:nrow(res)){
model.knn <- ipredknn(BAD ~ ., data=learning.set, k=res$k[i])
etykietki.prog.learn <- predict(model.knn, learning.set, type="class")
etykietki.prog.test <- predict(model.knn, test.set, type="class")
# tablica kontyngencji
(wynik.tablica.learn <- table(etykietki.prog.learn, learning.set$BAD))
(wynik.tablica.test <- table(etykietki.prog.test, test.set$BAD))
# blad klasyfikacji
print(k)
print((n - sum(diag(wynik.tablica.learn))) / n)
print((n - sum(diag(wynik.tablica.test))) / n)
res$err.learn[i] <- (n - sum(diag(wynik.tablica.learn))) / n
res$err.test[i] <- (n - sum(diag(wynik.tablica.test))) / n
}
matplot(res[, 2:3], type = "l")
To do: https://www.r-bloggers.com/how-to-write-the-first-for-loop-in-r/ https://www.datacamp.com/community/tutorials/tutorial-on-loops-in-r#gs.0nI8E8E https://www.r-bloggers.com/using-apply-sapply-lapply-in-r/ http://adv-r.had.co.nz/Functionals.html http://www2.warwick.ac.uk/fac/sci/moac/degrees/moac/ch923/r_introduction/r_programming/ http://www.tutorialspoint.com/r/r_loops.htm