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 )
Exemple #2
0
# 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)