library(frbs) ## Start input data load("pima.5f.RData") #tra.pima.1 <- pima.5.1.tra tra.pima.2 <- pima.5.2.tra #tra.pima.3 <- pima.5.3.tra #tra.pima.4 <- pima.5.4.tra #tra.pima.5 <- pima.5.5.tra #tst.pima.1 <- pima.5.1.tst[, 1 : 8] tst.pima.2 <- pima.5.2.tst[, 1 : 8] #tst.pima.3 <- pima.5.3.tst[, 1 : 8] #tst.pima.4 <- pima.5.4.tst[, 1 : 8] #tst.pima.5 <- pima.5.5.tst[, 1 : 8] #real.pima.1 <- matrix(pima.5.1.tst[, 9], ncol = 1) real.pima.2 <- matrix(pima.5.2.tst[, 9], ncol = 1) #real.pima.3 <- matrix(pima.5.3.tst[, 9], ncol = 1) #real.pima.4 <- matrix(pima.5.4.tst[, 9], ncol = 1) #real.pima.5 <- matrix(pima.5.5.tst[, 9], ncol = 1) range.data <- matrix(c(0.0, 17.0, 0.0, 199.0, 0.0, 122.0, 0.0, 99.0, 0.0, 846.0, 0.0, 67.1, 0.078, 2.42, 21.0, 81.0), nrow=2) method.type <- "GFS.GCCL" control <- list(popu.size = 30, num.class = 2, num.labels = 5, persen_cross = 0.9, max.gen = 500, persen_mutant = 0.3, name="sim-0") ########################## ### 2. Training Process ### The main result on this process is rule database which is used on testing process. #object.1 <- frbs.learn(tra.pima.1, range.data, method.type, control) object.2 <- frbs.learn(tra.pima.2, range.data, method.type, control) #object.3 <- frbs.learn(tra.pima.3, range.data, method.type, control) #object.4 <- frbs.learn(tra.pima.4, range.data, method.type, control) #object.5 <- frbs.learn(tra.pima.5, range.data, method.type, control) ########################## ### 3b. Testing process #res.test.1 <- predict(object.1, tst.pima.1) res.test.2 <- predict(object.2, tst.pima.2) # res.test.3 <- predict(object.3, tst.pima.3) # res.test.4 <- predict(object.4, tst.pima.4) # res.test.5 <- predict(object.5, tst.pima.5) ######################### ### Error Measurement ########################## #y.pred.1 <- res.test.1 #y.real.1 <- real.pima.1 y.pred.2 <- res.test.2 y.real.2 <- real.pima.2 # y.pred.3 <- res.test.3 # y.real.3 <- real.pima.3 # y.pred.4 <- res.test.4 # y.real.4 <- real.pima.4 # y.pred.5 <- res.test.5 # y.real.5 <- real.pima.5 #bench.1 <- cbind(y.pred.1, y.real.1) bench.2 <- cbind(y.pred.2, y.real.2) # bench.3 <- cbind(y.pred.3, y.real.3) # bench.4 <- cbind(y.pred.4, y.real.4) # bench.5 <- cbind(y.pred.5, y.real.5) #### Measure error for classification counter.1 <- 0 counter.2 <- 0 counter.3 <- 0 counter.4 <- 0 counter.5 <- 0 # for (i in 1 : nrow(bench.1)){ # if (bench.1[i, 1] != bench.1[i, 2]){ # counter.1 = counter.1 + 1 # } # } for (i in 1 : nrow(bench.2)){ if (bench.2[i, 1] != bench.2[i, 2]){ counter.2 = counter.2 + 1 } } # for (i in 1 : nrow(bench.3)){ # if (bench.3[i, 1] != bench.3[i, 2]){ # counter.3 = counter.3 + 1 # } # } # for (i in 1 : nrow(bench.4)){ # if (bench.4[i, 1] != bench.4[i, 2]){ # counter.4 = counter.4 + 1 # } # } # for (i in 1 : nrow(bench.5)){ # if (bench.5[i, 1] != bench.5[i, 2]){ # counter.5 = counter.5 + 1 # } # } #err.1 <- counter.1 / nrow(bench.1) * 100 err.2 <- counter.2 / nrow(bench.2) * 100 # err.3 <- counter.3 / nrow(bench.3) * 100 # err.4 <- counter.4 / nrow(bench.4) * 100 # err.5 <- counter.5 / nrow(bench.5) * 100 #print("The result: ") #print(y.pred) print("GFS.GCCL: percentage Error on each pima") #print(err.1) print(err.2) # print(err.3) # print(err.4) # print(err.5) #err.aver <- 1/5 * (err.1 + err.2 + err.3 + err.4 + err.5) #print("average error percentage") #print(err.aver) save(object.2, file = "Object.GCCL.Pima.RData") ## export to PMML write.frbsPMML(frbsPMML(object.2), "GCCL.Pima")