Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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=',')
Ejemplo n.º 4
0
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)):
Ejemplo n.º 5
0
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,
    )
)