library(CORElearn) ## Start input data load("iris.5f.RData") tra.iris.1 <- data.frame(iris.5.1.tra) tra.iris.2 <- data.frame(iris.5.2.tra) tra.iris.3 <- data.frame(iris.5.3.tra) tra.iris.4 <- data.frame(iris.5.4.tra) tra.iris.5 <- data.frame(iris.5.5.tra) names.attrs <- c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width", "Species") colnames(tra.iris.1) <- names.attrs colnames(tra.iris.2) <- names.attrs colnames(tra.iris.3) <- names.attrs colnames(tra.iris.4) <- names.attrs colnames(tra.iris.5) <- names.attrs colnames(iris.5.1.tst) <- names.attrs colnames(iris.5.2.tst) <- names.attrs colnames(iris.5.3.tst) <- names.attrs colnames(iris.5.4.tst) <- names.attrs colnames(iris.5.5.tst) <- names.attrs real.iris.1 <- data.frame(matrix(iris.5.1.tst[, ncol(iris.5.1.tst)], ncol = 1)) real.iris.2 <- data.frame(matrix(iris.5.2.tst[, ncol(iris.5.1.tst)], ncol = 1)) real.iris.3 <- data.frame(matrix(iris.5.3.tst[, ncol(iris.5.1.tst)], ncol = 1)) real.iris.4 <- data.frame(matrix(iris.5.4.tst[, ncol(iris.5.1.tst)], ncol = 1)) real.iris.5 <- data.frame(matrix(iris.5.5.tst[, ncol(iris.5.1.tst)], ncol = 1)) ## generate model using classification tree with default parameters (for simplicity). object.knn.1 <- CoreModel(Species ~., tra.iris.1, model = "knn") object.knn.2 <- CoreModel(Species ~., tra.iris.2, model = "knn") object.knn.3 <- CoreModel(Species ~., tra.iris.3, model = "knn") object.knn.4 <- CoreModel(Species ~., tra.iris.4, model = "knn") object.knn.5 <- CoreModel(Species ~., tra.iris.5, model = "knn") pred.1 <- max.col(predict(object.knn.1, data.frame(iris.5.1.tst), type="probability")) pred.2 <- max.col(predict(object.knn.2, data.frame(iris.5.2.tst), type="probability")) pred.3 <- max.col(predict(object.knn.3, data.frame(iris.5.3.tst), type="probability")) pred.4 <- max.col(predict(object.knn.4, data.frame(iris.5.4.tst), type="probability")) pred.5 <- max.col(predict(object.knn.5, data.frame(iris.5.5.tst), type="probability")) err.1 = 100*sum(real.iris.1!=pred.1)/nrow(pred.1) err.2 = 100*sum(real.iris.2!=pred.2)/nrow(pred.2) err.3 = 100*sum(real.iris.3!=pred.3)/nrow(pred.3) err.4 = 100*sum(real.iris.4!=pred.4)/nrow(pred.4) err.5 = 100*sum(real.iris.5!=pred.5)/nrow(pred.5) err.aver <- (err.1 + err.2 + err.3 + err.4 + err.5)/5 print("average error") print(err.aver)