Skip to content

Commit

Permalink
Merge pull request #304 from serialhex/master
Browse files Browse the repository at this point in the history
a few additions to the ruby examples & some other stuff...
  • Loading branch information
Soeren Sonnenburg committed Aug 21, 2011
2 parents 8631f29 + efa826b commit 8a410d1
Show file tree
Hide file tree
Showing 144 changed files with 2,340 additions and 1,206 deletions.
12 changes: 6 additions & 6 deletions examples/undocumented/ruby_modular/MatrixTest.rb
@@ -1,8 +1,8 @@
require 'modshogun';
require 'modshogun'
require 'narray'
require 'pp';
x = Modshogun::RealFeatures.new;
y = [[1, 2], [3, 4], [5, 6]];
x.set_feature_matrix(y);
z = x.get_feature_matrix();
require 'pp'
x = Modshogun::RealFeatures.new
y = [[1, 2], [3, 4], [5, 6]]
x.set_feature_matrix(y)
z = x.get_feature_matrix()
pp(z)
@@ -1,20 +1,21 @@
require 'narray'
require 'modshogun'
require 'load'
require 'pp'

traindat = LoadMatrix.load_numbers('../data/fm_train_real.dat')
testdat = LoadMatrix.load_numbers('../data/fm_test_real.dat')
label_traindat = LoadMatrix.load_labels('../data/label_train_twoclass.dat')

parameter_list = [[traindat,testdat,label_traindat,1,1000,1],[traindat,testdat,label_traindat,1,1000,1]]
parameter_list = [traindat,testdat,label_traindat,2,1000,1]

def classifier_averaged_perceptron_modular(fm_train_real=traindat,fm_test_real=testdat,label_train_twoclass=label_traindat,learn_rate=1,max_iter=1000,num_threads=1)
def classifier_averaged_perceptron_modular(fm_train_real, fm_test_real, label_train_twoclass, learn_rate, max_iter, num_threads)

feats_train=Modshogun::RealFeatures.new(fm_train_real)
feats_test=Modshogun::RealFeatures.new(fm_test_real)
feats_train=Modshogun::RealFeatures.new
feats_train.set_feature_matrix(fm_train_real)
feats_test=Modshogun::RealFeatures.new
feats_test.set_feature_matrix(fm_test_real)

labels=Modshogun::Labels.new(label_train_twoclass)
labels=Modshogun::Labels.new
labels.set_labels(label_train_twoclass)

perceptron=Modshogun::AveragedPerceptron.new(feats_train, labels)
perceptron.set_learn_rate(learn_rate)
Expand All @@ -23,12 +24,12 @@ def classifier_averaged_perceptron_modular(fm_train_real=traindat,fm_test_real=t
perceptron.train()

perceptron.set_features(feats_test)
out_labels = perceptron.apply().get_labels()
print out_labels
out_labels = perceptron.apply.get_labels
#puts out_labels
return perceptron, out_labels
end

if __FILE__ == $0
puts 'AveragedPerceptron'
classifier_averaged_perceptron_modular(*parameter_list[0])
pp classifier_averaged_perceptron_modular(*parameter_list)
end
@@ -1,32 +1,36 @@
# this was trancekoded by the awesome trancekoder
require 'narray'
# ...and fixifikated by the awesum fixifikator
require 'modshogun'
require 'load'
require 'pp'
parameter_list = [[1,7],[2,8]]

def classifier_custom_kernel_modular(C=1,dim=7)
parameter_list = [[1,7],[2,8]]

def classifier_custom_kernel_modular(c=1,dim=7)

seed((C,dim))
seed(c,dim)

lab=sign(2*rand(dim) - 1)
data=rand(dim, dim)
symdata=data*data.T + diag(ones(dim))

kernel=CustomKernel()
# *** kernel=CustomKernel()
kernel=Modshogun::CustomKernel.new
kernel.set_features()
kernel.set_full_kernel_matrix_from_full(data)
labels=Labels(lab)
svm=LibSVM(C, kernel, labels)
# *** labels=Labels(lab)
labels=Modshogun::Labels.new
labels.set_features(lab)
# *** svm=LibSVM(c, kernel, labels)
svm=Modshogun::LibSVM.new
svm.set_features(c, kernel, labels)
svm.train()
predictions =svm.apply()
out=svm.apply().get_labels()
return svm,out


end

if __FILE__ == $0
print 'custom_kernel'
puts 'custom_kernel'
classifier_custom_kernel_modular(*parameter_list[0])

end
@@ -1,7 +1,6 @@
# this was trancekoded by the awesome trancekoder
require 'narray'
# ...and fixifikated by the awesum fixifikator
require 'modshogun'
require 'load'
require 'pp'
import numpy

Expand Down Expand Up @@ -75,7 +74,7 @@ def classifier_domainadaptationsvm_modular(fm_train_dna=traindna,fm_test_dna=tes

#####################################

#print "obtaining DA SVM from previously trained SVM"
# puts "obtaining DA SVM from previously trained SVM"

feats_train2 = StringCharFeatures(fm_train_dna, DNA)
feats_test2 = StringCharFeatures(fm_test_dna, DNA)
Expand All @@ -93,7 +92,7 @@ def classifier_domainadaptationsvm_modular(fm_train_dna=traindna,fm_test_dna=tes

end
if __FILE__ == $0
print 'SVMLight'
puts 'SVMLight'
classifier_domainadaptationsvm_modular(*parameter_list[0])

end
@@ -1,8 +1,6 @@
# this was trancekoded by the awesome trancekoder
require 'narray'
require 'modshogun'
require 'load'
require 'pp'

traindat = LoadMatrix.load_numbers('../data/fm_train_real.dat')
testdat = LoadMatrix.load_numbers('../data/fm_test_real.dat')
label_traindat = LoadMatrix.load_labels('../data/label_train_multiclass.dat')
Expand All @@ -11,19 +9,21 @@

def classifier_gaussiannaivebayes_modular(fm_train_real=traindat,fm_test_real=testdat,label_train_multiclass=label_traindat)

feats_train=RealFeatures(fm_train_real)
feats_test=RealFeatures(fm_test_real)
labels=Labels(label_train_multiclass)
feats_train=Modshogun::RealFeatures.new
feats_train.set_feature_matrix(fm_train_real)
feats_test=Modshogun::RealFeatures.new
feats_test.set_feature_matrix(fm_test_real)
labels=Modshogun::Labels.new
labels.set_labels(label_train_multiclass)

gnb=GaussianNaiveBayes(feats_train, labels)
gnb=Modshogun::GaussianNaiveBayes.new(feats_train, labels)
gnb_train = gnb.train()
output=gnb.apply(feats_test).get_labels()
return gnb, gnb_train, output


end
if __FILE__ == $0
print 'GaussianNaiveBayes'
classifier_gaussiannaivebayes_modular(*parameter_list[0])

if __FILE__ == $0
puts 'GaussianNaiveBayes'
pp classifier_gaussiannaivebayes_modular(*parameter_list[0])
end
26 changes: 12 additions & 14 deletions examples/undocumented/ruby_modular/classifier_gmnpsvm_modular.rb
@@ -1,7 +1,4 @@
# this was trancekoded by the awesome trancekoder
require 'narray'
require 'modshogun'
require 'load'
require 'pp'

traindat = LoadMatrix.load_numbers('../data/fm_train_real.dat')
Expand All @@ -10,26 +7,27 @@

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

def classifier_gmnpsvm_modular(fm_train_real=traindat,fm_test_real=testdat,label_train_multiclass=label_traindat,width=2.1,C=1,epsilon=1e-5)
def classifier_gmnpsvm_modular(fm_train_real, fm_test_real, label_train_multiclass, width, c, epsilon)

feats_train=Modshogun::RealFeatures.new
feats_train.set_feature_matrix(fm_train_real)
feats_test=Modshogun::RealFeatures.new
feats_test.set_feature_matrix(fm_test_real)

feats_train=RealFeatures(fm_train_real)
feats_test=RealFeatures(fm_test_real)
kernel=Modshogun::GaussianKernel.new(feats_train, feats_train, width)

kernel=GaussianKernel(feats_train, feats_train, width)
labels=Modshogun::Labels.new
labels.set_labels(label_train_multiclass)

labels=Labels(label_train_multiclass)

svm=GMNPSVM(C, kernel, labels)
svm=Modshogun::GMNPSVM.new(c, kernel, labels)
svm.set_epsilon(epsilon)
svm.train(feats_train)
kernel.init(feats_train, feats_test)
out=svm.apply(feats_test).get_labels()
return out,kernel

end
if __FILE__ == $0
print 'GMNPSVM'
classifier_gmnpsvm_modular(*parameter_list[0])

if __FILE__ == $0
puts 'GMNPSVM'
pp classifier_gmnpsvm_modular(*parameter_list[0])
end
25 changes: 17 additions & 8 deletions examples/undocumented/ruby_modular/classifier_gpbtsvm_modular.rb
@@ -1,7 +1,6 @@
# this was trancekoded by the awesome trancekoder
require 'narray'
# ...and fixifikated by the awesum fixifikator
require 'modshogun'
require 'load'
require 'pp'

traindat = LoadMatrix.load_numbers('../data/fm_train_real.dat')
Expand All @@ -14,12 +13,22 @@ def classifier_gpbtsvm_modular(fm_train_real=traindat,fm_test_real=testdat,label



feats_train=RealFeatures(fm_train_real)
feats_test=RealFeatures(fm_test_real)
kernel=GaussianKernel(feats_train, feats_train, width)
labels=Labels(label_train_twoclass)
# *** feats_train=RealFeatures(fm_train_real)
feats_train=Modshogun::RealFeatures.new
feats_train.set_features(fm_train_real)
# *** feats_test=RealFeatures(fm_test_real)
feats_test=Modshogun::RealFeatures.new
feats_test.set_features(fm_test_real)
# *** kernel=GaussianKernel(feats_train, feats_train, width)
kernel=Modshogun::GaussianKernel.new
kernel.set_features(feats_train, feats_train, width)
# *** labels=Labels(label_train_twoclass)
labels=Modshogun::Labels.new
labels.set_features(label_train_twoclass)

svm=GPBTSVM(C, kernel, labels)
# *** svm=GPBTSVM(C, kernel, labels)
svm=Modshogun::GPBTSVM.new
svm.set_features(C, kernel, labels)
svm.set_epsilon(epsilon)
svm.train()

Expand All @@ -32,7 +41,7 @@ def classifier_gpbtsvm_modular(fm_train_real=traindat,fm_test_real=testdat,label

end
if __FILE__ == $0
print 'GPBTSVM'
puts 'GPBTSVM'
classifier_gpbtsvm_modular(*parameter_list[0])

end
25 changes: 17 additions & 8 deletions examples/undocumented/ruby_modular/classifier_knn_modular.rb
@@ -1,7 +1,6 @@
# this was trancekoded by the awesome trancekoder
require 'narray'
# ...and fixifikated by the awesum fixifikator
require 'modshogun'
require 'load'
require 'pp'
traindat = LoadMatrix.load_numbers('../data/fm_train_real.dat')
testdat = LoadMatrix.load_numbers('../data/fm_test_real.dat')
Expand All @@ -11,14 +10,24 @@

def classifier_knn_modular(fm_train_real=traindat,fm_test_real=testdat,label_train_multiclass=label_traindat, k=3 )

feats_train=RealFeatures(fm_train_real)
feats_test=RealFeatures(fm_test_real)
distance=EuclidianDistance(feats_train, feats_train)
# *** feats_train=RealFeatures(fm_train_real)
feats_train=Modshogun::RealFeatures.new
feats_train.set_features(fm_train_real)
# *** feats_test=RealFeatures(fm_test_real)
feats_test=Modshogun::RealFeatures.new
feats_test.set_features(fm_test_real)
# *** distance=EuclidianDistance(feats_train, feats_train)
distance=Modshogun::EuclidianDistance.new
distance.set_features(feats_train, feats_train)


labels=Labels(label_train_multiclass)
# *** labels=Labels(label_train_multiclass)
labels=Modshogun::Labels.new
labels.set_features(label_train_multiclass)

knn=KNN(k, distance, labels)
# *** knn=KNN(k, distance, labels)
knn=Modshogun::KNN.new
knn.set_features(k, distance, labels)
knn_train = knn.train()
output=knn.apply(feats_test).get_labels()
multiple_k=knn.classify_for_multiple_k()
Expand All @@ -27,7 +36,7 @@ def classifier_knn_modular(fm_train_real=traindat,fm_test_real=testdat,label_tra

end
if __FILE__ == $0
print 'KNN'
puts 'KNN'
classifier_knn_modular(*parameter_list[0])

end
25 changes: 17 additions & 8 deletions examples/undocumented/ruby_modular/classifier_larank_modular.rb
@@ -1,7 +1,6 @@
# this was trancekoded by the awesome trancekoder
require 'narray'
# ...and fixifikated by the awesum fixifikator
require 'modshogun'
require 'load'
require 'pp'

traindat = LoadMatrix.load_numbers('../data/fm_train_real.dat')
Expand All @@ -14,15 +13,25 @@ def classifier_larank_modular(fm_train_real=traindat,fm_test_real=testdat,label_

Math_init_random(17)

feats_train=RealFeatures(fm_train_real)
feats_test=RealFeatures(fm_test_real)
# *** feats_train=RealFeatures(fm_train_real)
feats_train=Modshogun::RealFeatures.new
feats_train.set_features(fm_train_real)
# *** feats_test=RealFeatures(fm_test_real)
feats_test=Modshogun::RealFeatures.new
feats_test.set_features(fm_test_real)
width=2.1
kernel=GaussianKernel(feats_train, feats_train, width)
# *** kernel=GaussianKernel(feats_train, feats_train, width)
kernel=Modshogun::GaussianKernel.new
kernel.set_features(feats_train, feats_train, width)

epsilon=1e-5
labels=Labels(label_train_multiclass)
# *** labels=Labels(label_train_multiclass)
labels=Modshogun::Labels.new
labels.set_features(label_train_multiclass)

svm=LaRank(C, kernel, labels)
# *** svm=LaRank(C, kernel, labels)
svm=Modshogun::LaRank.new
svm.set_features(C, kernel, labels)
#svm.set_tau(1e-3)
svm.set_batch_mode(False)
#svm.io.enable_progress()
Expand All @@ -36,7 +45,7 @@ def classifier_larank_modular(fm_train_real=traindat,fm_test_real=testdat,label_

end
if __FILE__ == $0
print 'LaRank'
puts 'LaRank'
classifier_larank_modular(*parameter_list[0])


Expand Down

0 comments on commit 8a410d1

Please sign in to comment.