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

results matching ""

    No results matching ""