Skip to content

Commit

Permalink
new easy toy data data for example
Browse files Browse the repository at this point in the history
  • Loading branch information
karlnapf committed Mar 10, 2013
1 parent 4c9352a commit 11d764e
Showing 1 changed file with 23 additions and 10 deletions.
@@ -1,24 +1,37 @@
#!/usr/bin/env python
from tools.multiclass_shared import prepare_data
from numpy import *
parameter_list = [[10,3,15,2.1,1,1e-5,1],[20,4,15,2.2,2,1e-5,2]]

[traindat, label_traindat, testdat, label_testdat] = prepare_data()

parameter_list = [[traindat,testdat,label_traindat,2.1,1,1e-5],[traindat,testdat,label_traindat,2.2,1,1e-5]]

def classifier_multiclassocas_modular (fm_train_real=traindat,fm_test_real=testdat,label_train_multiclass=label_traindat,width=2.1,C=1,epsilon=1e-5):
def classifier_multiclassocas_modular (num_vec=10,num_class=3,distance=15,width=2.1,C=1,epsilon=1e-5,seed=1):
from shogun.Features import RealFeatures, MulticlassLabels
from shogun.Classifier import MulticlassOCAS
from shogun.Mathematics import Math_init_random

# reproducible results
random.seed(seed)
Math_init_random(seed)

# generate some training data where each class pair is linearly separable
label_train=array([mod(x,num_class) for x in range(num_vec)],dtype="float64")
label_test=array([mod(x,num_class) for x in range(num_vec)],dtype="float64")
fm_train=array(random.randn(num_class,num_vec))
fm_test=array(random.randn(num_class,num_vec))
for i in range(len(label_train)):
fm_train[label_train[i],i]+=distance
fm_test[label_test[i],i]+=distance

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

labels=MulticlassLabels(label_train_multiclass)
labels=MulticlassLabels(label_train)

classifier = MulticlassOCAS(C,feats_train,labels)
classifier.train()

out = classifier.apply(feats_test).get_labels()
return out
#print label_test
#print out
return out,classifier

if __name__=='__main__':
print('MulticlassOCAS')
Expand Down

0 comments on commit 11d764e

Please sign in to comment.