Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #320 from serialhex/master
Many more ruby examples
- Loading branch information
Showing
20 changed files
with
624 additions
and
144 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
36 changes: 36 additions & 0 deletions
36
examples/undocumented/ruby_modular/classifier_custom_kernel_modular.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# this was trancekoded by the awesome trancekoder | ||
# ...and fixifikated by the awesum fixifikator | ||
require 'modshogun' | ||
require 'pp' | ||
|
||
parameter_list = [[1,7],[2,8]] | ||
|
||
def classifier_custom_kernel_modular(c=1,dim=7) | ||
|
||
Modshogun::Math.init_random(c) | ||
|
||
lab=sign(2*rand(dim) - 1) | ||
data=rand(dim, dim) | ||
symdata=data*data.T + diag(ones(dim)) | ||
|
||
# *** kernel=CustomKernel() | ||
kernel=Modshogun::CustomKernel.new | ||
kernel.set_features() | ||
kernel.set_full_kernel_matrix_from_full(data) | ||
# *** 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 | ||
puts 'custom_kernel' | ||
classifier_custom_kernel_modular(*parameter_list[0]) | ||
end |
27 changes: 27 additions & 0 deletions
27
examples/undocumented/ruby_modular/clustering_hierarchical_modular.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
require 'modshogun' | ||
require 'pp' | ||
|
||
traindat = LoadMatrix.load_numbers('../data/fm_train_real.dat') | ||
|
||
parameter_list = [[traindat,3],[traindat,4]] | ||
|
||
def clustering_hierarchical_modular(fm_train=traindat,merges=3) | ||
|
||
feats_train=Modshogun::RealFeatures.new | ||
feats_train.set_feature_matrix(fm_train) | ||
distance=Modshogun::EuclidianDistance.new(feats_train, feats_train) | ||
|
||
hierarchical=Modshogun::Hierarchical.new(merges, distance) | ||
hierarchical.train() | ||
|
||
out_distance = hierarchical.get_merge_distances() | ||
out_cluster = hierarchical.get_cluster_pairs() | ||
|
||
return hierarchical,out_distance,out_cluster | ||
|
||
end | ||
|
||
if __FILE__ == $0 | ||
puts 'Hierarchical' | ||
pp clustering_hierarchical_modular(*parameter_list[0]) | ||
end |
28 changes: 28 additions & 0 deletions
28
examples/undocumented/ruby_modular/distance_braycurtis_modular.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
require 'modshogun' | ||
require 'pp' | ||
|
||
traindat = LoadMatrix.load_numbers('../data/fm_train_real.dat') | ||
testdat = LoadMatrix.load_numbers('../data/fm_test_real.dat') | ||
|
||
parameter_list = [[traindat,testdat],[traindat,testdat]] | ||
|
||
def distance_braycurtis_modular(fm_train_real=traindat, fm_test_real=testdat) | ||
|
||
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) | ||
|
||
distance=Modshogun::BrayCurtisDistance.new(feats_train, feats_train) | ||
|
||
dm_train=distance.get_distance_matrix() | ||
distance.init(feats_train, feats_test) | ||
dm_test=distance.get_distance_matrix() | ||
|
||
return distance,dm_train,dm_test | ||
end | ||
|
||
if __FILE__ == $0 | ||
puts 'BrayCurtisDistance' | ||
pp distance_braycurtis_modular(*parameter_list[0]) | ||
end |
28 changes: 28 additions & 0 deletions
28
examples/undocumented/ruby_modular/distance_canberra_modular.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
require 'modshogun' | ||
require 'pp' | ||
|
||
traindat = LoadMatrix.load_numbers('../data/fm_train_real.dat') | ||
testdat = LoadMatrix.load_numbers('../data/fm_test_real.dat') | ||
|
||
parameter_list = [[traindat,testdat],[traindat,testdat]] | ||
|
||
def distance_canberra_modular(fm_train_real=traindat,fm_test_real=testdat) | ||
|
||
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) | ||
|
||
distance=Modshogun::CanberraMetric.new(feats_train, feats_train) | ||
|
||
dm_train=distance.get_distance_matrix() | ||
distance.init(feats_train, feats_test) | ||
dm_test=distance.get_distance_matrix() | ||
return distance,dm_train,dm_test | ||
|
||
end | ||
|
||
if __FILE__ == $0 | ||
puts 'CanberaMetric' | ||
pp distance_canberra_modular(*parameter_list[0]) | ||
end |
40 changes: 40 additions & 0 deletions
40
examples/undocumented/ruby_modular/distribution_histogram_modular.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
require 'modshogun' | ||
require 'pp' | ||
|
||
traindna = LoadMatrix.load_dna('../data/fm_train_dna.dat') | ||
|
||
parameter_list = [[traindna, 3, 0, false], [traindna, 4, 0, false]] | ||
|
||
def distribution_histogram_modular(fm_dna=traindna, order=3, gap=0, reverse=false) | ||
|
||
charfeat=Modshogun::StringCharFeatures.new(Modshogun::DNA) | ||
charfeat.set_features(fm_dna) | ||
feats=Modshogun::StringWordFeatures.new(charfeat.get_alphabet()) | ||
feats.obtain_from_char(charfeat, order-1, order, gap, reverse) | ||
|
||
histo=Modshogun::Histogram.new | ||
histo.set_features(feats) | ||
histo.train() | ||
|
||
histo.get_histogram() | ||
|
||
num_examples=feats.get_num_vectors() | ||
num_param=histo.get_num_model_parameters() | ||
#for i in xrange(num_examples): | ||
# for j in xrange(num_param): | ||
# histo.get_log_derivative(j, i) | ||
|
||
out_likelihood = histo.get_log_likelihood() | ||
out_sample = histo.get_log_likelihood_sample() | ||
return histo,out_sample,out_likelihood | ||
|
||
end | ||
|
||
########################################################################### | ||
# call functions | ||
########################################################################### | ||
|
||
if __FILE__ == $0 | ||
puts 'Histogram' | ||
pp distribution_histogram_modular(*parameter_list[0]) | ||
end |
16 changes: 16 additions & 0 deletions
16
examples/undocumented/ruby_modular/features_read_svmlight_format_modular.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
require 'modshogun' | ||
require 'pp' | ||
parameter_list=[['../data/train_sparsereal.light']] | ||
|
||
def features_read_svmlight_format_modular(fname) | ||
|
||
f=Modshogun::SparseRealFeatures.new | ||
lab=f.load_svmlight_file(fname) | ||
f.write_svmlight_file('testwrite.light', lab) | ||
|
||
end | ||
|
||
if __FILE__ == $0 | ||
puts 'Reading SVMLIGHT format' | ||
pp features_read_svmlight_format_modular(*parameter_list[0]) | ||
end |
Oops, something went wrong.