Пример #1
0
def preprocessor_logplusone_modular(fm_train_real=traindat,
                                    fm_test_real=testdat,
                                    width=1.4,
                                    size_cache=10):

    from shogun.Kernel import Chi2Kernel
    from shogun.Features import RealFeatures
    from shogun.Preprocessor import LogPlusOne

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

    preproc = LogPlusOne()
    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_logplusone_modular (fm_train_real=traindat,fm_test_real=testdat,width=1.4,size_cache=10):

	from shogun.Kernel import Chi2Kernel
	from shogun.Features import RealFeatures
	from shogun.Preprocessor import LogPlusOne

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

	preproc=LogPlusOne()
	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
Пример #3
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