def classifier_gmnpsvm_modular (fm_train_real=traindat,fm_test_real=testdat,label_train_multiclass=label_traindat,width=2.1,C=1,epsilon=1e-5):

	from shogun.Features import RealFeatures, Labels
	from shogun.Kernel import GaussianKernel
	from shogun.Classifier import GMNPSVM

	feats_train=RealFeatures(fm_train_real)
	feats_test=RealFeatures(fm_test_real)

	kernel=GaussianKernel(feats_train, feats_train, width)

	labels=Labels(label_train_multiclass)

	svm=GMNPSVM(C, kernel, labels)
	svm.set_epsilon(epsilon)
	svm.train(feats_train)
	kernel.init(feats_train, feats_test)
	out=svm.apply(feats_test).get_labels()
	return out,kernel
def classifier_gmnpsvm_modular (fm_train_real=traindat,fm_test_real=testdat,label_train_multiclass=label_traindat,width=2.1,C=1,epsilon=1e-5):

	from shogun.Features import RealFeatures, MulticlassLabels
	from shogun.Kernel import GaussianKernel
	from shogun.Classifier import GMNPSVM

	feats_train=RealFeatures(fm_train_real)
	feats_test=RealFeatures(fm_test_real)

	kernel=GaussianKernel(feats_train, feats_train, width)

	labels=MulticlassLabels(label_train_multiclass)

	svm=GMNPSVM(C, kernel, labels)
	svm.set_epsilon(epsilon)
	svm.train(feats_train)
	kernel.init(feats_train, feats_test)
	out=svm.apply(feats_test).get_labels()
	return out,kernel
def gmnpsvm ():
	print 'GMNPSVM'

	from shogun.Features import RealFeatures, Labels
	from shogun.Kernel import GaussianKernel
	from shogun.Classifier import GMNPSVM

	feats_train=RealFeatures(fm_train_real)
	feats_test=RealFeatures(fm_test_real)
	width=2.1
	kernel=GaussianKernel(feats_train, feats_train, width)

	C=1
	epsilon=1e-5
	labels=Labels(label_train_multiclass)

	svm=GMNPSVM(C, kernel, labels)
	svm.set_epsilon(epsilon)
	svm.train(feats_train)
	#kernel.init(feats_train, feats_test)
	out=svm.classify(feats_test).get_labels()
示例#4
0
def serialization_complex_example(num=5, dist=1, dim=10, C=2.0, width=10):
    import os
    from numpy import concatenate, zeros, ones
    from numpy.random import randn, seed
    from shogun.Features import RealFeatures, MulticlassLabels
    from shogun.Classifier import GMNPSVM
    from shogun.Kernel import GaussianKernel
    from shogun.IO import SerializableHdf5File,SerializableAsciiFile, \
      SerializableJsonFile,SerializableXmlFile,MSG_DEBUG
    from shogun.Preprocessor import NormOne, LogPlusOne

    seed(17)

    data = concatenate(
        (randn(dim, num), randn(dim, num) + dist, randn(dim, num) + 2 * dist,
         randn(dim, num) + 3 * dist),
        axis=1)
    lab = concatenate((zeros(num), ones(num), 2 * ones(num), 3 * ones(num)))

    feats = RealFeatures(data)
    #feats.io.set_loglevel(MSG_DEBUG)
    kernel = GaussianKernel(feats, feats, width)

    labels = MulticlassLabels(lab)

    svm = GMNPSVM(C, kernel, labels)

    feats.add_preprocessor(NormOne())
    feats.add_preprocessor(LogPlusOne())
    feats.set_preprocessed(1)
    svm.train(feats)

    #svm.print_serializable()

    fstream = SerializableHdf5File("blaah.h5", "w")
    status = svm.save_serializable(fstream)
    check_status(status, 'h5')

    fstream = SerializableAsciiFile("blaah.asc", "w")
    status = svm.save_serializable(fstream)
    check_status(status, 'asc')

    fstream = SerializableJsonFile("blaah.json", "w")
    status = svm.save_serializable(fstream)
    check_status(status, 'json')

    fstream = SerializableXmlFile("blaah.xml", "w")
    status = svm.save_serializable(fstream)
    check_status(status, 'xml')

    fstream = SerializableHdf5File("blaah.h5", "r")
    new_svm = GMNPSVM()
    status = new_svm.load_serializable(fstream)
    check_status(status, 'h5')
    new_svm.train()

    fstream = SerializableAsciiFile("blaah.asc", "r")
    new_svm = GMNPSVM()
    status = new_svm.load_serializable(fstream)
    check_status(status, 'asc')
    new_svm.train()

    fstream = SerializableJsonFile("blaah.json", "r")
    new_svm = GMNPSVM()
    status = new_svm.load_serializable(fstream)
    check_status(status, 'json')
    new_svm.train()

    fstream = SerializableXmlFile("blaah.xml", "r")
    new_svm = GMNPSVM()
    status = new_svm.load_serializable(fstream)
    check_status(status, 'xml')
    new_svm.train()

    os.unlink("blaah.h5")
    os.unlink("blaah.asc")
    os.unlink("blaah.json")
    os.unlink("blaah.xml")
    return svm, new_svm
def serialization_complex_example(num=5, dist=1, dim=10, C=2.0, width=10):
	import os
	from numpy import concatenate, zeros, ones
	from numpy.random import randn, seed
	from shogun.Features import RealFeatures, Labels
	from shogun.Classifier import GMNPSVM
	from shogun.Kernel import GaussianKernel
	from shogun.IO import SerializableHdf5File,SerializableAsciiFile, \
			SerializableJsonFile,SerializableXmlFile,MSG_DEBUG
	from shogun.Preprocessor import NormOne, LogPlusOne

	seed(17)

	data=concatenate((randn(dim, num), randn(dim, num) + dist,
					  randn(dim, num) + 2*dist,
					  randn(dim, num) + 3*dist), axis=1)
	lab=concatenate((zeros(num), ones(num), 2*ones(num), 3*ones(num)))

	feats=RealFeatures(data)
	#feats.io.set_loglevel(MSG_DEBUG)
	kernel=GaussianKernel(feats, feats, width)

	labels=Labels(lab)

	svm = GMNPSVM(C, kernel, labels)

	feats.add_preprocessor(NormOne())
	feats.add_preprocessor(LogPlusOne())
	feats.set_preprocessed(1)
	svm.train(feats)

	#svm.print_serializable()

	fstream = SerializableHdf5File("blaah.h5", "w")
	status = svm.save_serializable(fstream)
	check_status(status)

	fstream = SerializableAsciiFile("blaah.asc", "w")
	status = svm.save_serializable(fstream)
	check_status(status)

	fstream = SerializableJsonFile("blaah.json", "w")
	status = svm.save_serializable(fstream)
	check_status(status)

	fstream = SerializableXmlFile("blaah.xml", "w")
	status = svm.save_serializable(fstream)
	check_status(status)


	fstream = SerializableHdf5File("blaah.h5", "r")
	new_svm=GMNPSVM()
	status = new_svm.load_serializable(fstream)
	check_status(status)
	new_svm.train()

	fstream = SerializableAsciiFile("blaah.asc", "r")
	new_svm=GMNPSVM()
	status = new_svm.load_serializable(fstream)
	check_status(status)
	new_svm.train()

	fstream = SerializableJsonFile("blaah.json", "r")
	new_svm=GMNPSVM()
	status = new_svm.load_serializable(fstream)
	check_status(status)
	new_svm.train()

	fstream = SerializableXmlFile("blaah.xml", "r")
	new_svm=GMNPSVM()
	status = new_svm.load_serializable(fstream)
	check_status(status)
	new_svm.train()

	os.unlink("blaah.h5")
	os.unlink("blaah.asc")
	os.unlink("blaah.json")
	os.unlink("blaah.xml")
	return svm,new_svm