def m_svm(): if ARGV.one_vs: svm_model = svm.svm_to_binary(svm.svm_raw()) else: svm_model = multi.one_against_one(svm.svm_to_binary(svm.svm_raw())) # return milk.defaultclassifier(mode='slow', multi_strategy='1-vs-1') learner = milk.supervised.classifier.ctransforms( # remove nans supervised.normalise.chkfinite(), # normalize to [-1,1] supervised.normalise.interval_normalise(), # feature selection featureselection.featureselector( featureselection.linear_independent_features), # sda filter featureselection.sda_filter(), # same parameter range as 'medium' supervised.gridsearch( svm_model, params = { 'C': 2.0 ** np.arange(-2, 4), 'kernel': [ svm.rbf_kernel(2.0 ** i) for i in xrange(-4, 4) ] } ) ) return learner
def m_svm(): if ARGV.one_vs: svm_model = svm.svm_to_binary(svm.svm_raw()) else: svm_model = multi.one_against_one(svm.svm_to_binary(svm.svm_raw())) # return milk.defaultclassifier(mode='slow', multi_strategy='1-vs-1') learner = milk.supervised.classifier.ctransforms( # remove nans supervised.normalise.chkfinite(), # normalize to [-1,1] supervised.normalise.interval_normalise(), # feature selection featureselection.featureselector( featureselection.linear_independent_features), # sda filter featureselection.sda_filter(), # same parameter range as 'medium' supervised.gridsearch( svm_model, params={ 'C': 2.0**np.arange(-2, 4), 'kernel': [svm.rbf_kernel(2.0**i) for i in xrange(-4, 4)] })) return learner
def test_ecoc_learner(): base = milk.tests.fast_classifier.fast_classifier() learner = milk.supervised.multi.ecoc_learner(base) features, labels = load() nlabels = len(set(labels)) model = learner.train(features[::2],labels[::2]) testl = np.array(model.apply_many(features[1::2])) assert np.mean(testl == labels[1::2]) > 1./nlabels assert testl.min() >= 0 assert testl.max() < nlabels # This failed at one point: learner = ecoc_learner(svm.svm_to_binary(svm.svm_raw(kernel=svm.dot_kernel(), C=1.))) model = learner.train(features[:200], labels[:200]) assert (model is not None)