print('reservoir initialized') functionInputs = [f_utils.getInputTuple(window) for i in range(O)] functionsToApproximate, functionVectors = [], [] for i in range(O): function_vector = f_utils.convertIntToBinaryVector(i, 2**window) func = f_utils.convertVectorToFunction(function_vector) functionsToApproximate.append(func) # Only for printing purposes functionVectors.append(function_vector) output = OutputLayer(res, O, functionsToApproximate, functionInputs, delay, dataStreamLength) output.train(trainingSize) output.test(testSize) print(f'N = {N}') print(f'K = {K}') print(f'I = {I}') print(f'L = {output.reservoir.L}') print(f'window = {window}') print(f'delay = {delay}') print(f'dataStreamLength = {dataStreamLength}') print(f'trainingSize = {trainingSize}') print(f'testSize = {testSize}') print(f'seed = {seed}') print(f'O = {O}') print() print('Function,Accuracy')
print('\n\n') print('X_train =') print(d) print(len(d)) print(len(d[0])) print('\n\n') print(len(b)) print(len(b[0])) print(len(b[0, 0])) print(e) print(len(e)) print(len(e[0])) results = output.test(testSize) y_tests, y_predicts = results differences = [] for i in range(len(y_tests)): difference = [] for j in range(len(y_tests[i])): difference.append(abs(y_tests[i, j] - y_predicts[i, j])) differences.append(difference) success_rates = [] for i in range(len(y_tests)): success_rates.append(1 - (sum(differences[i]) / len(y_tests[i]))) print(success_rates)