Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- for i in range(nclasses):
- print("SVM Number %d out of %d" % (i+1, nclasses))
- binary_training_set_y = [x if x == float(i+1) else 0.0 for x in training_set_y]
- binary_test_set_y = [x if x == float(i+1) else 0.0 for x in test_set_y]
- prob = svm_problem(binary_training_set_y, training_set_x)
- param = svm_parameter(paramlist)
- aux_name = base_name + str(i+1)
- if load == 0:
- model = svm_train(prob, param)
- svm_save_model(aux_name, model)
- else:
- svm_load_model(aux_name)
- if operation == 1:
- p_labels, p_acc, p_vals = svm_predict(binary_test_set_y, test_set_x, model)
- all_p_vals.append(np.squeeze(p_vals))
- all_p_labels.append(np.squeeze(p_labels))
- if operation == 1:
- multi_class_labels = []
- for i in range(len(test_set_y)):
- local_max = -math.inf
- index_max = 0
- for j in range(nclasses):
- if all_p_vals[j][i] >= 0.0:
- if all_p_vals[j][i] > local_max:
- local_max = all_p_vals[j][i]
- index_max = j+1
- else:
- if all_p_labels[j][i] > 0.0:
- if abs(all_p_vals[j][i]) > local_max:
- local_max = abs(all_p_vals[j][i])
- index_max = j+1
- multi_class_labels.append(float(index_max))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement