def de(kl, interval, pops, generation, num_inputx, num_hiddenx, num_outputx, data_learning): global num_hidden global num_input global num_output global inps format = data_learning[-4:-1] + data_learning[-1] if format == ".dat": inps = loader.loadDat(data_learning) elif format == ".csv": inps = loader.loadCsv(data_learning) inps = loader.stringifyVar(inps, loader.normalizeVar(loader.getVar(inps))) num_hidden = num_hiddenx num_input = num_inputx num_output = num_outputx pop = initPop(pops, kl, interval) n = 0 best1 = fitnessRanking(pop, pops)[0] best2 = list(best1) while n <= generation: best1 = fitnessRanking(pop, pops)[0] mut = mutation(pop, best1[1], best2[1], pop[best1[0]]) off = [crossOver((mut, pop[i]), best1[1], best2[1], kl) for i in xrange(pops)] for i in xrange(pops): if fitness(off[i]) > fitness(pop[i]): pop[i] = off[i] best2 = best1 print n, (1 / best2[1]) - 0.0001 n += 1 ret = pop[fitnessRanking(pop, pops)[0][0]] return ret
def de(kl,interval,pops,generation,num_hiddenx,data_learning): global num_hidden global inps inps = loader.loadCsv(data_learning) inps = loader.stringifyVar(inps,loader.normalizeVar(loader.getVar(inps))) num_hidden = num_hiddenx pop = initPop(pops,kl,interval) n = 0 best1 = fitnessRanking(pop,pops)[0] best2 = list(best1) while(n<=generation): best1 = fitnessRanking(pop,pops)[0] mut = mutation(pop,best1[1],best2[1],pop[best1[0]]) off = [crossOver((mut,pop[i]),best1[1],best2[1],kl) for i in xrange(pops)] for i in xrange(pops): if(fitness(off[i])>fitness(pop[i])): pop[i] = off[i] best2 = best1 print n,1/best2[1] n += 1 ret = pop[fitnessRanking(pop,pops)[0][0]] return ret
import loader import jst import de import sys import numpy as np num_input = int(sys.argv[1]) num_hidden = int(sys.argv[2]) num_output = int(sys.argv[3]) weight_interval = int(sys.argv[4]) pop_size = int(sys.argv[5]) gen_limit = int(sys.argv[6]) data_learning = sys.argv[7] format = data_learning[-4:-1]+data_learning[-1] save_weights_to = sys.argv[8] if (format == '.dat'): inps = loader.loadDat(data_learning) elif (format == '.csv'): inps = loader.loadCsv(data_learning) inps = loader.stringifyVar(inps,loader.normalizeVar(loader.getVar(inps))) weights = de.de((num_output*num_hidden)+(num_hidden*num_input),weight_interval,pop_size,gen_limit,num_input,num_hidden,num_output,data_learning) np.savetxt(save_weights_to, np.array(weights), delimiter=',')
import time import sys import numpy as np num_input = int(sys.argv[1]) num_hidden = int(sys.argv[2]) num_output = int(sys.argv[3]) file_data_testing = (sys.argv[4]) file_weights = (sys.argv[5]) format = file_data_testing[-4:-1]+file_data_testing[-1] if (format == '.dat'): inps = loader.loadDat(file_data_testing) elif (format == '.csv'): inps = loader.loadCsv(file_data_testing) inps = loader.stringifyVar(inps,loader.normalizeVar(loader.getVar(inps))) weights = jst.decodeWeights(loader.loadCsv(file_weights),num_input,num_hidden,num_output) match = 0 tp1 = 0 pp1 = 0 tn1 = 0 pn1 = 0 for i in range(len(inps)): if(jst.correct(inps[i],weights)): match += 1 if(jst.truePositive1(inps[i],weights)): tp1 += 1 if(jst.trueNegative1(inps[i],weights)):
import sys num_input = 15 num_hidden = int(sys.argv[1]) num_output = 6 weight_interval = int(sys.argv[2]) pop_size = int(sys.argv[3]) gen_limit = int(sys.argv[4]) data_learning = sys.argv[5] data_testing = sys.argv[6] # print sys.argv[1] inps = loader.loadCsv(data_testing) inps = loader.stringifyVar(inps, loader.normalizeVar(loader.getVar(inps))) start = time.time() weights = jst.decodeWeights( de.de( (num_output * num_hidden) + (num_hidden * num_input), weight_interval, pop_size, gen_limit, num_hidden, data_learning, ) )