From e34c80eadcd40482a765cda861b92ab5c1250049 Mon Sep 17 00:00:00 2001 From: Andreas Maunz Date: Thu, 19 May 2011 13:08:28 +0200 Subject: Added Exception handling --- lib/algorithm.rb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'lib/algorithm.rb') diff --git a/lib/algorithm.rb b/lib/algorithm.rb index 9402eab..5b41cbf 100644 --- a/lib/algorithm.rb +++ b/lib/algorithm.rb @@ -177,9 +177,13 @@ module OpenTox end # activities of neighbors for supervised learning sims = neighbors.collect{ |n| Algorithm.gauss(n[:similarity]) } # similarity values btwn q and nbors - prediction = local_svm(neighbors, acts, sims, "nu-svr", params) - prediction = (take_logs ? 10**(prediction.to_f) : prediction.to_f) - LOGGER.debug "Prediction is: '" + prediction.to_s + "'." + begin + prediction = local_svm(neighbors, acts, sims, "nu-svr", params) + prediction = (take_logs ? 10**(prediction.to_f) : prediction.to_f) + LOGGER.debug "Prediction is: '" + prediction.to_s + "'." + rescue Exception => e + LOGGER.debug "#{e.class}: #{e.message} #{e.backtrace}" + end conf = sims.inject{|sum,x| sum + x } confidence = conf/neighbors.size if neighbors.size > 0 @@ -195,16 +199,13 @@ module OpenTox acts = neighbors.collect do |n| act = n[:activity] end # activities of neighbors for supervised learning - - sims = neighbors.collect{ |n| Algorithm.gauss(n[:similarity]) } # similarity values btwn q and nbors - - acts_f = acts.collect {|v| v == true ? 1.0 : 0.0} + sims = neighbors.collect{ |n| Algorithm.gauss(n[:similarity]) } # similarity values btwn q and nbors begin prediction = local_svm (neighbors, acts_f, sims, "C-bsvc", params) LOGGER.debug "Prediction is: '" + prediction.to_s + "'." rescue Exception => e - LOGGER.debug "Prediction failed." + LOGGER.debug "#{e.class}: #{e.message} #{e.backtrace}" end conf = sims.inject{|sum,x| sum + x } -- cgit v1.2.3