def main(): for file in [ 'data/breast-cancer-assignment5.txt', 'data/german-assignment5.txt' ]: data, labels, types = load_matrix_from_txt(file) splices = k_fold_split(10, data, labels) accuracies = [] for i in range(10): train_indexes = splices[i][0] test_indexes = splices[i][1] train_data = np.copy(data[train_indexes]) train_label = np.copy(labels[train_indexes]) test_data = np.copy(data[test_indexes]) test_label = np.copy(labels[test_indexes]) boost = AdaBoost() boost.train(train_data, train_label, types) class_result = boost.test(test_data) accuracy = compute_accuracy(class_result, test_label) accuracies.append(accuracy) print 'accuracy: %f' % accuracy print('file: {}, mean: {}, std: {}'.format(file, np.mean(accuracies), np.std(accuracies)))
def do_adaboost(self): if self.flag == 0: start = time.time() adaboost_instance = AdaBoost(self.train) adaboost_instance.create_and_train_classifiers() adaboost_instance.write_model(self.model_file) end = time.time() print 'Training Time :', (end - start) / 60, 'mins' else: start = time.time() adaboost_instance = AdaBoost(None) adaboost_instance.load_model(self.model_file) test_output = adaboost_instance.test(self.test, self.output_file) print test_output['accuracy'], '%' end = time.time() print 'Testing Time :', (end - start) / 60, 'mins'
images_data_vector=data_vector, all_images_ids=all_image_ids, images_counter=images_counter, decision_stumps=30, ) trained_decision_tree.train() save_model_to_pickle(obj=trained_decision_tree, file_name="tree.pkl") save_model_to_txt( obj=trained_decision_tree, file_name="tree_model.txt", model="adaboost_decision_tree", ) # Test after train trained_decision_tree.test(test_file_path="test_file.txt") else: # Test trained_decision_tree = load_model_from_pickle( file_name="tree.pkl") trained_decision_tree.test(test_file_path="test_file.txt") elif model == "nnet": if train_or_test == "train": trained_neural_network = start( layers=[ Dense(300), Activation("relu"), Dropout(0.2), Dense(300), Activation("relu"),