Skip to content

Commit

Permalink
used a more sensible data set to actually see whether the method works
Browse files Browse the repository at this point in the history
  • Loading branch information
karlnapf committed Mar 10, 2013
1 parent 4b7ded4 commit d3f1eee
Showing 1 changed file with 21 additions and 15 deletions.
36 changes: 21 additions & 15 deletions examples/undocumented/python_modular/classifier_larank_modular.py
@@ -1,35 +1,41 @@
#!/usr/bin/env python
from tools.load import LoadMatrix
lm=LoadMatrix()
from numpy import *
parameter_list = [[10,3,15,0.9,1,2000,1],[20,4,15,0.9,1,5000,2]]

traindat = lm.load_numbers('../data/fm_train_real.dat')
testdat = lm.load_numbers('../data/fm_test_real.dat')
label_traindat = lm.load_labels('../data/label_train_multiclass.dat')

parameter_list = [[traindat,testdat,label_traindat,0.9,1,2000],[traindat,testdat,label_traindat,3,1,5000]]

def classifier_larank_modular (fm_train_real=traindat,fm_test_real=testdat,label_train_multiclass=label_traindat,C=0.9,num_threads=1,num_iter=5):
def classifier_larank_modular (num_vec,num_class,distance,C=0.9,num_threads=1,num_iter=5,seed=1):
from shogun.Features import RealFeatures, MulticlassLabels
from shogun.Kernel import GaussianKernel
from shogun.Classifier import LaRank
from shogun.Mathematics import Math_init_random
Math_init_random(17)

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

# reproducible results
Math_init_random(seed)
random.seed(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)
feats_test=RealFeatures(fm_test)
width=2.1
kernel=GaussianKernel(feats_train, feats_train, width)

epsilon=1e-5
labels=MulticlassLabels(label_train_multiclass)
labels=MulticlassLabels(label_train)

svm=LaRank(C, kernel, labels)
#svm.set_tau(1e-3)
svm.set_batch_mode(False)
#svm.io.enable_progress()
svm.set_epsilon(epsilon)
svm.train()
out=svm.apply(feats_train).get_labels()
out=svm.apply(feats_test).get_labels()
predictions = svm.apply()
return predictions, svm, predictions.get_labels()

Expand Down

0 comments on commit d3f1eee

Please sign in to comment.