def test_voting(): base = ctransforms(milk.supervised.svm.svm_raw(C=2.,kernel=milk.supervised.svm.rbf_kernel(2.**-3)),milk.supervised.svm.svm_binary()) base = milk.supervised.multi.one_against_rest(base) features,labels = milksets.wine.load() gfeatures, glabels = group(features, labels, 3) learner = milk.supervised.grouped.voting_classifier(base) learner.train(gfeatures, glabels) model = learner.train(gfeatures, glabels) assert ([model.apply(f) for f in gfeatures] == np.array(glabels)).mean() > .8
def test_ecoc_probability(): features,labels = load() features = features[labels < 5] labels = labels[labels < 5] raw = svm.svm_raw(kernel=svm.dot_kernel(), C=1.) base = ctransforms(raw, svm.svm_sigmoidal_correction()) learner = ecoc_learner(base, probability=True) model = learner.train(features[::2], labels[::2]) results = list(map(model.apply, features[1::2])) results = np.array(results) assert results.shape[1] == len(set(labels)) assert np.mean(results.argmax(1) == labels[1::2]) > .5
import numpy as np import random import milk.supervised.svm import milk.supervised.multi from milk.supervised.classifier import ctransforms from .fast_classifier import fast_classifier import milksets.wine features,labels = milksets.wine.load() A = np.arange(len(features)) random.seed(9876543210) random.shuffle(A) features = features[A] labels = labels[A] labelset = set(labels) base = ctransforms(milk.supervised.svm.svm_raw(C=2.,kernel=milk.supervised.svm.rbf_kernel(2.**-3)),milk.supervised.svm.svm_binary()) def test_one_against_rest(): M = milk.supervised.multi.one_against_rest(base) M = M.train(features[:100,:],labels[:100]) tlabels = [M.apply(f) for f in features[100:]] for tl in tlabels: assert tl in labelset def test_one_against_one(): M = milk.supervised.multi.one_against_one(base) M = M.train(features[:100,:],labels[:100]) tlabels = [M.apply(f) for f in features[100:]] for tl in tlabels: assert tl in labelset tlabels_many = M.apply_many(features[100:])
ri = celltypes_rna.index(ct) cur.append(R[:,ri]) except ValueError: pass if not len(cur): raise KeyError("?") features.append(np.array(cur).mean(0)) selected = np.array(selected) features = np.array(features) gosweights = generate_gosweights(features, gene2ensembl, 'maxabs', ['molecular_function', 'biological_process']) gosweights = thresh_features(gosweights) learner = norm_learner(ctransforms(remove_constant_features(), zscore_normalise(), select_learner(12), lasso_relaxed(.000225010113525, .1)), 0) rna_ge_gosweigths_mpbf_ma,labels = rna_ge_gosweigths.f('maxabs', ['molecular_function', 'biological_process']) rna_ge_gosweigths_mpbf_ma = thresh_features(rna_ge_gosweigths_mpbf_ma) model = learner.train(rna_ge_gosweigths_mpbf_ma, labels) drugvalues, celltypes, drugs = read_training() olines = read_olines() results = [] for o in olines: if o in testing: oi = allct.index(o) r = model.apply(gosweights[oi]) else: oi = celltypes.index(o)
import numpy as np import random import milk.supervised.svm import milk.supervised.multi from milk.supervised.classifier import ctransforms from fast_classifier import fast_classifier import milksets.wine features,labels = milksets.wine.load() A = np.arange(len(features)) random.seed(9876543210) random.shuffle(A) features = features[A] labels = labels[A] labelset = set(labels) base = ctransforms(milk.supervised.svm.svm_raw(C=2.,kernel=milk.supervised.svm.rbf_kernel(2.**-3)),milk.supervised.svm.svm_binary()) def test_one_against_rest(): M = milk.supervised.multi.one_against_rest(base) M = M.train(features[:100,:],labels[:100]) tlabels = [M.apply(f) for f in features[100:]] for tl in tlabels: assert tl in labelset def test_one_against_one(): M = milk.supervised.multi.one_against_one(base) M = M.train(features[:100,:],labels[:100]) tlabels = [M.apply(f) for f in features[100:]] for tl in tlabels: assert tl in labelset
('prune(gow, .95)', prune_features(rna_ge_gosweigths_add, .95)), ('prune(gow-ma, .95)', prune_features(rna_ge_gosweigths_maxabs, .95)), ]: features = data[0] labels = data[1] for name,learner in [ ('random(1)', random_learner(1)), ('random(2)', random_learner(2)), ('random(3)', random_learner(3)), ('ridge(1.)', ridge_regression(1.)), ('ridge(.128)', ridge_regression(.128)), ('ridge(.001)', ridge_regression(.001)), ('ridge(1e-6)', ridge_regression(1e-6)), ('select+ridge(.001)', ctransforms(remove_constant_features(), select_learner(12), ridge_regression(.001))), ('relaxed', lasso_relaxed(.000225010113525, .1)), ('sel-relaxed', ctransforms(remove_constant_features(), select_learner(12), lasso_relaxed(.000225010113525, .1))), ('zs-sel-relaxed', ctransforms(remove_constant_features(), zscore_normalise(), select_learner(12), lasso_relaxed(.000225010113525, .1))), ('sel+lasso(1e-7)', ctransforms(remove_constant_features(), select_learner(12), lasso_regression(1e-7))), ('sel+lasso(1e-5)', ctransforms(remove_constant_features(), select_learner(16), lasso_regression(1e-5))), ('zs+lasso(1e-5)', ctransforms(remove_constant_features(), zscore_normalise(), lasso_regression_guess())), ('min0+lasso(1e-5)', ctransforms(remove_constant_features(), min_to_zero(), lasso_regression_guess())), ('sel+lasso(0.000225010113525)', ctransforms(remove_constant_features(), select_learner(16), lasso_regression(0.000225010113525))), ('zs+sel+lasso(0.000225010113525)', ctransforms(remove_constant_features(), zscore_normalise(), select_learner(16), lasso_regression(0.000225010113525))), ('zs+sel+lasso_learn', ctransforms(remove_constant_features(), zscore_normalise(), select_learner(12), lasso_regression_with_learning())), ('zs+sel+lasso_guess', ctransforms(remove_constant_features(), zscore_normalise(), select_learner(12), lasso_regression_guess())), ('zs+lasso_guess', ctransforms(remove_constant_features(), zscore_normalise(), lasso_regression_guess())), ('zs+sel+min0+lasso_guess', ctransforms(remove_constant_features(), zscore_normalise(), select_learner(12), min_to_zero(), lasso_regression_guess())), ('zs+min0+lasso_guess', ctransforms(remove_constant_features(), zscore_normalise(), min_to_zero(), lasso_regression_guess())),