summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Maunz <andreas@maunz.de>2011-06-21 15:56:08 +0200
committerAndreas Maunz <andreas@maunz.de>2011-06-21 15:56:08 +0200
commitcec978fb5cf0defcb79dd8e0da604c4f6c978674 (patch)
treeb9af5faca7d55c226e470fdafdbfd068a5cf9f3a
parentd9b997f0a0e3a45a72ff9e4a48035dacd75faacf (diff)
Enabling map for Fminer
-rw-r--r--fminer.rb2
-rw-r--r--lazar.rb23
2 files changed, 14 insertions, 11 deletions
diff --git a/fminer.rb b/fminer.rb
index 8c6451c..2aee7bd 100644
--- a/fminer.rb
+++ b/fminer.rb
@@ -173,7 +173,7 @@ post '/fminer/bbrc/?' do
LOGGER.warn "No #{feature} activity for #{compound.to_s}."
else
if prediction_feature.feature_type == "classification"
- activity= value.to_f
+ activity= params[:value_map].invert[value].to_f
nr_classes[activity].nil? ? nr_classes[activity]=0 : nr_classes[activity]+=1
nr_total+=1
elsif prediction_feature.feature_type == "regression"
diff --git a/lazar.rb b/lazar.rb
index eb14075..6f8f439 100644
--- a/lazar.rb
+++ b/lazar.rb
@@ -53,7 +53,7 @@ post '/lazar/?' do
prediction_feature = OpenTox::Feature.find(training_activities.features.keys.first,@subjectid)
params[:prediction_feature] = prediction_feature.uri # pass to feature mining service
end
-
+
feature_generation_uri = @@feature_generation_default unless feature_generation_uri = params[:feature_generation_uri]
raise OpenTox::NotFoundError.new "No feature #{prediction_feature.uri} in dataset #{params[:dataset_uri]}. (features: "+
@@ -62,6 +62,18 @@ post '/lazar/?' do
lazar = OpenTox::Model::Lazar.new
lazar.min_sim = params[:min_sim] if params[:min_sim]
+
+ if prediction_feature.feature_type == "classification"
+ @training_classes = training_activities.accept_values(prediction_feature.uri).sort
+ @training_classes.each_with_index { |c,i|
+ lazar.value_map[i] = c
+ params[:value_map] = lazar.value_map
+ }
+ elsif prediction_feature.feature_type == "regression"
+ lazar.prediction_algorithm = "Neighbors.local_svm_regression"
+ end
+
+
if params[:feature_dataset_uri]
feature_dataset_uri = params[:feature_dataset_uri]
training_features = OpenTox::Dataset.new(feature_dataset_uri)
@@ -129,15 +141,6 @@ post '/lazar/?' do
end
end
- if prediction_feature.feature_type == "classification"
- @training_classes = training_activities.accept_values(prediction_feature.uri).sort
- @training_classes.each_with_index { |c,i|
- lazar.value_map[i] = c
- }
- elsif prediction_feature.feature_type == "regression"
- lazar.prediction_algorithm = "Neighbors.local_svm_regression"
- end
-
# AM: allow prediction_algorithm override by user for classification AND regression
lazar.prediction_algorithm = "Neighbors.#{params[:prediction_algorithm]}" unless params[:prediction_algorithm].nil?
lazar.prop_kernel = true if params[:local_svm_kernel] == "propositionalized"