diff options
author | Andreas Maunz <andreas@maunz.de> | 2011-06-21 15:56:08 +0200 |
---|---|---|
committer | Andreas Maunz <andreas@maunz.de> | 2011-06-21 15:56:08 +0200 |
commit | cec978fb5cf0defcb79dd8e0da604c4f6c978674 (patch) | |
tree | b9af5faca7d55c226e470fdafdbfd068a5cf9f3a | |
parent | d9b997f0a0e3a45a72ff9e4a48035dacd75faacf (diff) |
Enabling map for Fminer
-rw-r--r-- | fminer.rb | 2 | ||||
-rw-r--r-- | lazar.rb | 23 |
2 files changed, 14 insertions, 11 deletions
@@ -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" @@ -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" |