Beispiel #1
0
def preprocessor_randomfouriergausspreproc (fm_train_real=traindat,fm_test_real=testdat,width=1.4,size_cache=10):
	from shogun import Chi2Kernel
	from shogun import RealFeatures
	from shogun import RandomFourierGaussPreproc

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

	preproc=RandomFourierGaussPreproc()
	preproc.init(feats_train)
	feats_train.add_preprocessor(preproc)
	feats_train.apply_preprocessor()
	feats_test.add_preprocessor(preproc)
	feats_test.apply_preprocessor()

	kernel=Chi2Kernel(feats_train, feats_train, width, size_cache)

	km_train=kernel.get_kernel_matrix()
	kernel.init(feats_train, feats_test)
	km_test=kernel.get_kernel_matrix()

	return km_train,km_test,kernel
def preprocessor_prunevarsubmean (fm_train_real=traindat,fm_test_real=testdat,width=1.4,size_cache=10):
	from shogun import Chi2Kernel
	from shogun import RealFeatures
	from shogun import PruneVarSubMean

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

	preproc=PruneVarSubMean()
	preproc.init(feats_train)
	feats_train.add_preprocessor(preproc)
	feats_train.apply_preprocessor()
	feats_test.add_preprocessor(preproc)
	feats_test.apply_preprocessor()

	kernel=Chi2Kernel(feats_train, feats_train, width, size_cache)

	km_train=kernel.get_kernel_matrix()
	kernel.init(feats_train, feats_test)
	km_test=kernel.get_kernel_matrix()

	return km_train,km_test,kernel
Beispiel #3
0
def preprocessor_normone (fm_train_real=traindat,fm_test_real=testdat,width=1.4,size_cache=10):

	from shogun import Chi2Kernel
	from shogun import RealFeatures
	from shogun import NormOne

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

	preprocessor=NormOne()
	preprocessor.init(feats_train)
	feats_train.add_preprocessor(preprocessor)
	feats_train.apply_preprocessor()
	feats_test.add_preprocessor(preprocessor)
	feats_test.apply_preprocessor()

	kernel=Chi2Kernel(feats_train, feats_train, width, size_cache)

	km_train=kernel.get_kernel_matrix()
	kernel.init(feats_train, feats_test)
	km_test=kernel.get_kernel_matrix()

	return km_train,km_test,kernel
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 import RealFeatures, MulticlassLabels
	from shogun import GMNPSVM
	from shogun import GaussianKernel
	from shogun import SerializableHdf5File,SerializableAsciiFile, \
			SerializableJsonFile,SerializableXmlFile,MSG_DEBUG
	from shogun import NormOne, LogPlusOne
	from tempfile import NamedTemporaryFile

	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)
	#feats.io.enable_file_and_line()
	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)
	bias_ref = svm.get_svm(0).get_bias()

	#svm.print_serializable()

	tmp_h5 = NamedTemporaryFile(suffix='h5')
	fstream = SerializableHdf5File(tmp_h5.name, "w")
	status = svm.save_serializable(fstream)
	check_status(status,'h5')

	tmp_asc = NamedTemporaryFile(suffix='asc')
	fstream = SerializableAsciiFile(tmp_asc.name, "w")
	status = svm.save_serializable(fstream)
	check_status(status,'asc')

	tmp_json = NamedTemporaryFile(suffix='json')
	fstream = SerializableJsonFile(tmp_json.name, "w")
	status = svm.save_serializable(fstream)
	check_status(status,'json')

	tmp_xml = NamedTemporaryFile(suffix='xml')
	fstream = SerializableXmlFile(tmp_xml.name, "w")
	status = svm.save_serializable(fstream)
	check_status(status,'xml')

	fstream = SerializableHdf5File(tmp_h5.name, "r")
	new_svm=GMNPSVM()
	status = new_svm.load_serializable(fstream)
	check_status(status,'h5')
	new_svm.train()
	bias_h5 = new_svm.get_svm(0).get_bias()

	fstream = SerializableAsciiFile(tmp_asc.name, "r")
	new_svm=GMNPSVM()
	status = new_svm.load_serializable(fstream)
	check_status(status,'asc')
	new_svm.train()
	bias_asc = new_svm.get_svm(0).get_bias()

	fstream = SerializableJsonFile(tmp_json.name, "r")
	new_svm=GMNPSVM()
	status = new_svm.load_serializable(fstream)
	check_status(status,'json')
	new_svm.train()
	bias_json = new_svm.get_svm(0).get_bias()

	fstream = SerializableXmlFile(tmp_xml.name, "r")
	new_svm=GMNPSVM()
	status = new_svm.load_serializable(fstream)
	check_status(status,'xml')
	new_svm.train()
	bias_xml = new_svm.get_svm(0).get_bias()

	return svm,new_svm, bias_ref, bias_h5, bias_asc, bias_json, bias_xml
Beispiel #5
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 import RealFeatures, MulticlassLabels
    from shogun import GMNPSVM
    from shogun import GaussianKernel
    from shogun import SerializableHdf5File,SerializableAsciiFile, \
      SerializableJsonFile,SerializableXmlFile,MSG_DEBUG
    from shogun import NormOne, LogPlusOne
    from tempfile import NamedTemporaryFile

    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)
    #feats.io.enable_file_and_line()
    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)
    bias_ref = svm.get_svm(0).get_bias()

    #svm.print_serializable()

    tmp_h5 = NamedTemporaryFile(suffix='h5')
    fstream = SerializableHdf5File(tmp_h5.name, "w")
    status = svm.save_serializable(fstream)
    check_status(status, 'h5')

    tmp_asc = NamedTemporaryFile(suffix='asc')
    fstream = SerializableAsciiFile(tmp_asc.name, "w")
    status = svm.save_serializable(fstream)
    check_status(status, 'asc')

    tmp_json = NamedTemporaryFile(suffix='json')
    fstream = SerializableJsonFile(tmp_json.name, "w")
    status = svm.save_serializable(fstream)
    check_status(status, 'json')

    tmp_xml = NamedTemporaryFile(suffix='xml')
    fstream = SerializableXmlFile(tmp_xml.name, "w")
    status = svm.save_serializable(fstream)
    check_status(status, 'xml')

    fstream = SerializableHdf5File(tmp_h5.name, "r")
    new_svm = GMNPSVM()
    status = new_svm.load_serializable(fstream)
    check_status(status, 'h5')
    new_svm.train()
    bias_h5 = new_svm.get_svm(0).get_bias()

    fstream = SerializableAsciiFile(tmp_asc.name, "r")
    new_svm = GMNPSVM()
    status = new_svm.load_serializable(fstream)
    check_status(status, 'asc')
    new_svm.train()
    bias_asc = new_svm.get_svm(0).get_bias()

    fstream = SerializableJsonFile(tmp_json.name, "r")
    new_svm = GMNPSVM()
    status = new_svm.load_serializable(fstream)
    check_status(status, 'json')
    new_svm.train()
    bias_json = new_svm.get_svm(0).get_bias()

    fstream = SerializableXmlFile(tmp_xml.name, "r")
    new_svm = GMNPSVM()
    status = new_svm.load_serializable(fstream)
    check_status(status, 'xml')
    new_svm.train()
    bias_xml = new_svm.get_svm(0).get_bias()

    return svm, new_svm, bias_ref, bias_h5, bias_asc, bias_json, bias_xml