Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. for i in range(nclasses):
  2. print("SVM Number %d out of %d" % (i+1, nclasses))
  3. binary_training_set_y = [x if x == float(i+1) else 0.0 for x in training_set_y]
  4. binary_test_set_y = [x if x == float(i+1) else 0.0 for x in test_set_y]
  5.  
  6. prob = svm_problem(binary_training_set_y, training_set_x)
  7. param = svm_parameter(paramlist)
  8. aux_name = base_name + str(i+1)
  9.  
  10. if load == 0:
  11. model = svm_train(prob, param)
  12. svm_save_model(aux_name, model)
  13. else:
  14. svm_load_model(aux_name)
  15.  
  16. if operation == 1:
  17. p_labels, p_acc, p_vals = svm_predict(binary_test_set_y, test_set_x, model)
  18.  
  19. all_p_vals.append(np.squeeze(p_vals))
  20. all_p_labels.append(np.squeeze(p_labels))
  21.  
  22. if operation == 1:
  23. multi_class_labels = []
  24.  
  25. for i in range(len(test_set_y)):
  26. local_max = -math.inf
  27. index_max = 0
  28.  
  29. for j in range(nclasses):
  30. if all_p_vals[j][i] >= 0.0:
  31. if all_p_vals[j][i] > local_max:
  32. local_max = all_p_vals[j][i]
  33. index_max = j+1
  34. else:
  35. if all_p_labels[j][i] > 0.0:
  36. if abs(all_p_vals[j][i]) > local_max:
  37. local_max = abs(all_p_vals[j][i])
  38. index_max = j+1
  39.  
  40. multi_class_labels.append(float(index_max))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement