training_set_1 = set1 + set2 + set3 + set4 + set5 training_set_2 = set6 + set7 + set8 + set9 test_set = set10 #convert sets to numpy arrays training_set_1 = np.asarray(training_set_1, dtype=float) training_set_2 = np.asarray(training_set_2, dtype=float) x_train_1, y_train_1 = data_handler.split_data_into_XY(training_set_1, class_index, first_attribute_index, last_attribute_index ) x_train_2, y_train_2 = data_handler.split_data_into_XY(training_set_2, class_index, first_attribute_index, last_attribute_index) avg_features, updated_output = Knn.K_Nearest_Neighbor_with_feature_averaging(x_train_1, x_train_2, y_train_1, y_train_2, k, True) training_set = data_handler.concatenate_feature_vals_with_labels(avg_features, updated_output) v, w = b.find_model_1_hidden_layer(training_set, class_index, numb_hidden_nodes, numb_iterations, numb_outputs, learning_rate) print('v weights found: ' + str(v) ) print('w weights found: ' + str(w)) estimated_output = b.get_estimated_output(test_set, class_index, numb_hidden_nodes, numb_outputs, v, w) actual_output = data_handler.get_class_labels(test_set, class_index) accuracy = mt.find_accuracy(estimated_output, actual_output) precision = mt.find_precision_multiclass(estimated_output, actual_output, class_values) recall = mt.find_recall_multiclass(estimated_output, actual_output, class_values) print('measured accuracy: ' + str(accuracy)) print('measured precision: ' + str(precision)) print('measured recall: ' + str(recall)) print('\n') print('Test 2') training_set_1 = set1 + set2 + set3 + set4 + set5 training_set_2 = set6 + set7 + set8 + set10 test_set = set9 #convert sets to numpy arrays training_set_1 = np.asarray(training_set_1, dtype=float) training_set_2 = np.asarray(training_set_2, dtype=float) x_train_1, y_train_1 = data_handler.split_data_into_XY(training_set_1, class_index, first_attribute_index, last_attribute_index )
# H is hidden dimension; D_out is output dimension. N, D_in, H, D_out = 64, 9, 100, 2 learning_rate = 1e-6 data = common.read_csv( "C:/Users/andre/PycharmProjects/MachineLearningFinal/Data/breastCancer.csv" ) class_index = 9 #update class lables 2=>0 and 4=> 1 for point in data: if point[class_index] == '2': point[class_index] = '0' elif point[class_index] == '4': point[class_index] = '1' #remove data points with missing attributes (since there are only 16 out of over 600 data points) common.remove_points_with_missing_attributes(data) shuffle(data) print(len(data)) x, y = split_into_x_y(data, class_index) w1, w2 = train_model(x, y) output = predict_output(w1, w2, x, y) accuracy = mt.find_accuracy(output, y) print(accuracy)