summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2016-10-14 11:09:50 +0200
committerChristoph Helma <helma@in-silico.ch>2016-10-14 11:09:50 +0200
commitaada2ff67eaba251d1eeedb7f3eb29282706f997 (patch)
tree961a178957d729d940d06c05fd35b7308f4a7645
parentfbded88db8b51f41ffbd5a02f601e4538ec87258 (diff)
weighted average for failed caret predictions fixed
-rw-r--r--lib/caret.rb9
-rw-r--r--lib/compound.rb2
2 files changed, 7 insertions, 4 deletions
diff --git a/lib/caret.rb b/lib/caret.rb
index e24c943..18bfc41 100644
--- a/lib/caret.rb
+++ b/lib/caret.rb
@@ -10,7 +10,6 @@ module OpenTox
independent_variables.each_with_index { |values,i| remove << i if values.uniq.size == 1}
remove.sort.reverse.each do |i|
independent_variables.delete_at i
- weights.delete_at i
query_variables.delete_at i
end
if independent_variables.flatten.uniq == ["NA"]
@@ -44,7 +43,9 @@ module OpenTox
$logger.debug "R caret model creation error for:"
$logger.debug dependent_variables
$logger.debug independent_variables
- return {:value => nil, :warning => "R caret model cration error."}
+ prediction = Algorithm::Regression::weighted_average dependent_variables:dependent_variables, weights:weights
+ prediction[:warning] = "R caret model creation error. Using weighted average of similar substances."
+ return prediction
end
begin
R.eval "query <- data.frame(rbind(c(#{query_variables.join ','})))"
@@ -63,7 +64,9 @@ module OpenTox
rescue => e
$logger.debug "R caret prediction error for:"
$logger.debug self.inspect
- return nil
+ prediction = Algorithm::Regression::weighted_average dependent_variables:dependent_variables, weights:weights
+ prediction[:warning] = "R caret prediction error. Using weighted average of similar substances"
+ return prediction
end
if prediction.nil? or prediction[:value].nil?
prediction = Algorithm::Regression::weighted_average dependent_variables:dependent_variables, weights:weights
diff --git a/lib/compound.rb b/lib/compound.rb
index e2a55ea..a399169 100644
--- a/lib/compound.rb
+++ b/lib/compound.rb
@@ -254,7 +254,7 @@ module OpenTox
end
def db_neighbors min_sim: 0.1, dataset_id:
- p fingerprints[DEFAULT_FINGERPRINT]
+ #p fingerprints[DEFAULT_FINGERPRINT]
# from http://blog.matt-swain.com/post/87093745652/chemical-similarity-search-in-mongodb
#qn = default_fingerprint_size