예제 #1
0
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()
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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()