Y_train = np.array(Y_train) X_test = np.array(X_test) Y_test = np.array(Y_test) # Hyperparameters epochs = 0 lRate = .01 C = ['100/873', '500/873', '700/873'] epochs = 100 print('Running Stochastic Gradient Descent for SVM...\n') #while(epochs < maxIter): lRate = .01 for c in C: w = SVM.SGD(X_train, Y_train, eval(c), lRate, epochs) # Get predictions from model Y_predict = [] correct = 0 n = len(X_train) for i in range(n): yp = np.sign(np.dot(w, X_train[i])) Y_predict.append(yp) # Calculate accuracy for i in range(len(Y_train)): if Y_train[i] == Y_predict[i]: correct += 1 accuracy = correct / n print('C = ', c) print('Learned weight vector: ', w) print('Accuracy: ', accuracy, '\n')