f.close() X = np.array(X) Z = np.array(Z) y = np.array(y) print "x" print X print "z" print Z print "y" print y print "p1" result = trainGsvm(Z,y) print result def k(a,b): return (2+np.dot(a.T,b))**2 print "p3" result = kernelSVMwithQP(X,y,k) print result for i in range(7): print X[i],X[5],y[i],k(X[i],X[5])
for _ in xrange(100): X = [] y = [] random.seed() # get 80% as train data for i in random.sample(range(len(trainX)),num): X.append(trainX[i]) y.append(trainy[i]) X = np.array(X) y = np.array(y) result = trainGsvm(X,y)["x"] b = result[0] w = result[1:] margin = 1.0/np.dot(w,w.T) err = 0. for i in xrange(len(testX)): if np.dot(w.T,testX[i]) < 0: if testy[i] > 0: err = err + 1 else: if testy[i] < 0: err= err + 1