def generateRandomTestData(self, number): outputs = np.random.random((number, 2)) for i in xrange(len(outputs)): outputs[i, 1] = np.random.randint(0, 2) #inclusive, exclusive timeslots = generate_timeslots(outputs) return (outputs, timeslots)
def experiment(net, P, T, vP, vT, filename, epochs, learning_rate): logger.info("Running experiment for: " + filename + ' ' + str(epochs) + ", rate: " + str(learning_rate)) print("Number of patients with events: " + str(T[:, 1].sum())) print("Number of censored patients: " + str((1 - T[:, 1]).sum())) timeslots = generate_timeslots(T) try: net = traingd(net, (P, T), (vP, vT), epochs, learning_rate, block_size = 100, error_module = cox_error) except FloatingPointError: print('Aaawww....') outputs = net.sim(P) c_index = get_C_index(T, outputs) logger.info("C index = " + str(c_index)) #plot_network_weights(net) kaplanmeier(time_array = T[:, 0], event_array = T[:, 1], output_array = outputs[:, 0]) if vP is not None and len(vP) > 0: outputs = net.sim(vP) kaplanmeier(time_array = vT[:, 0], event_array = vT[:, 1], output_array = outputs[:, 0]) return net