def svm_train_classify(trimat_tr, seqids_tr, labels_tr, fullmat_te, options, icv): sys.stderr.write('..kernel building..\n') kernel=CustomKernel() kernel.set_triangle_kernel_matrix_from_triangle(trimat_tr) sys.stderr.write('..svm learning..\n') svm = svm_learn(kernel, labels_tr, options.svmC, options.epsilon, options.weight) global g_svm_bias g_svm_bias = svm.get_bias() if (options.alphaprefix != "") and (len(seqids_tr) > 0): save_cv_taining_result(svm, options, seqids_tr, icv) sys.stderr.write('..svm classifying..\n') kernel.set_full_kernel_matrix_from_full(fullmat_te) ################################################### #for testing #alphas = svm.get_alphas() #svids = svm.get_support_vectors() #for j in xrange(len(preds)): # p = svm.get_bias() # for i in xrange(len(alphas)): # p += (alphas[i]*fullmat_te[int(svids[i]),j]) # print preds[j], p #sys.exit(0) ################################################### return svm.classify().get_labels().tolist()
def kernel_custom_modular(dim=7): from numpy.random import rand, seed from numpy import array, float32 from shogun.Features import RealFeatures from shogun.Kernel import CustomKernel seed(17) data = rand(dim, dim) feats = RealFeatures(data) symdata = data + data.T lowertriangle = array([ symdata[(x, y)] for x in range(symdata.shape[1]) for y in range(symdata.shape[0]) if y <= x ]) kernel = CustomKernel() # once with float64's kernel.set_triangle_kernel_matrix_from_triangle(lowertriangle) km_triangletriangle = kernel.get_kernel_matrix() kernel.set_triangle_kernel_matrix_from_full(symdata) km_fulltriangle = kernel.get_kernel_matrix() kernel.set_full_kernel_matrix_from_full(symdata) km_fullfull = kernel.get_kernel_matrix() # now once with float32's data = array(data, dtype=float32) kernel.set_triangle_kernel_matrix_from_triangle(lowertriangle) km_triangletriangle = kernel.get_kernel_matrix() kernel.set_triangle_kernel_matrix_from_full(symdata) km_fulltriangle = kernel.get_kernel_matrix() kernel.set_full_kernel_matrix_from_full(symdata) km_fullfull = kernel.get_kernel_matrix() return km_fullfull, kernel
def kernel_custom_modular (dim=7): from numpy.random import rand, seed from numpy import array, float32 from shogun.Features import RealFeatures from shogun.Kernel import CustomKernel seed(17) data=rand(dim, dim) feats=RealFeatures(data) symdata=data+data.T lowertriangle=array([symdata[(x,y)] for x in range(symdata.shape[1]) for y in range(symdata.shape[0]) if y<=x]) kernel=CustomKernel() # once with float64's kernel.set_triangle_kernel_matrix_from_triangle(lowertriangle) km_triangletriangle=kernel.get_kernel_matrix() kernel.set_triangle_kernel_matrix_from_full(symdata) km_fulltriangle=kernel.get_kernel_matrix() kernel.set_full_kernel_matrix_from_full(symdata) km_fullfull=kernel.get_kernel_matrix() # now once with float32's data=array(data,dtype=float32) kernel.set_triangle_kernel_matrix_from_triangle(lowertriangle) km_triangletriangle=kernel.get_kernel_matrix() kernel.set_triangle_kernel_matrix_from_full(symdata) km_fulltriangle=kernel.get_kernel_matrix() kernel.set_full_kernel_matrix_from_full(symdata) km_fullfull=kernel.get_kernel_matrix() return km_fullfull,kernel
def svm_train_classify(trimat_tr, seqids_tr, labels_tr, fullmat_te, options, icv): sys.stderr.write('..kernel building..\n') kernel = CustomKernel() kernel.set_triangle_kernel_matrix_from_triangle(trimat_tr) sys.stderr.write('..svm learning..\n') svm = svm_learn(kernel, labels_tr, options.svmC, options.epsilon, options.weight) global g_svm_bias g_svm_bias = svm.get_bias() if (options.alphaprefix != "") and (len(seqids_tr) > 0): save_cv_taining_result(svm, options, seqids_tr, icv) sys.stderr.write('..svm classifying..\n') kernel.set_full_kernel_matrix_from_full(fullmat_te) ################################################### #for testing #alphas = svm.get_alphas() #svids = svm.get_support_vectors() #for j in xrange(len(preds)): # p = svm.get_bias() # for i in xrange(len(alphas)): # p += (alphas[i]*fullmat_te[int(svids[i]),j]) # print preds[j], p #sys.exit(0) ################################################### return svm.classify().get_labels().tolist()
def custom (): print 'Custom' from numpy.random import rand from numpy import array from shogun.Features import RealFeatures from shogun.Kernel import CustomKernel dim=7 data=rand(dim, dim) feats=RealFeatures(data) symdata=data+data.T lowertriangle=array([symdata[(x,y)] for x in xrange(symdata.shape[1]) for y in xrange(symdata.shape[0]) if y<=x]) kernel=CustomKernel() kernel.set_triangle_kernel_matrix_from_triangle(lowertriangle) km_triangletriangle=kernel.get_kernel_matrix() kernel.set_triangle_kernel_matrix_from_full(symdata) km_fulltriangle=kernel.get_kernel_matrix() kernel.set_full_kernel_matrix_from_full(data) km_fullfull=kernel.get_kernel_matrix()