def get_accuracy(structure): structure = [25] + list(structure) + [10] instances_by_label = util.read_training("train.csv") for label in instances_by_label: for instance in instances_by_label[label]: instance /= max(instance.max(), -instance.min()) np.random.seed(0) test_instances = [] test_labels = [] for label in instances_by_label: np.random.shuffle(instances_by_label[label]) test_instances.extend(instances_by_label[label][:1000]) test_labels.extend([label]*1000) instances_by_label[label] = instances_by_label[label][1000:] max_accuracy, paras = train_nn(structure, instances_by_label, test_instances, test_labels) return max_accuracy[1]
np.random.shuffle(instances_by_label[label]) test_instances.extend(instances_by_label[label][:1000]) test_labels.extend([label]*1000) instances_by_label[label] = instances_by_label[label][1000:] max_accuracy, paras = train_nn(structure, instances_by_label, test_instances, test_labels) return max_accuracy[1] # definitons of vector-version tanh and exp vec_tanh = np.vectorize(math.tanh) vec_exp = np.vectorize(math.exp) if __name__ == "__main__": structure = [25, 100, 10] instances_by_label = util.read_training("train.csv") # normalize so that tha absolute value in an input doesn't exceed 1 for label in instances_by_label: for instance in instances_by_label[label]: instance /= max(instance.max(), -instance.min()) np.random.seed(0) test_instances = [] test_labels = [] for label in instances_by_label: np.random.shuffle(instances_by_label[label]) test_instances.extend(instances_by_label[label][:1000]) test_labels.extend([label]*1000) instances_by_label[label] = instances_by_label[label][1000:]