summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgebele <gebele@in-silico.ch>2017-05-04 09:50:57 +0000
committergebele <gebele@in-silico.ch>2017-05-04 09:50:57 +0000
commitd4d914052de0a37489f9491dbe491093bd14a03a (patch)
tree066d59b9b6dfa1272381509b2c7af12508de54ef
parent1f95bfdc11de7c4fdc2e9f0313be3506dd6ea9c1 (diff)
ensure always two probability values for classification
-rw-r--r--lib/classification.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/classification.rb b/lib/classification.rb
index 638492b..a875903 100644
--- a/lib/classification.rb
+++ b/lib/classification.rb
@@ -18,6 +18,11 @@ module OpenTox
class_weights.each do |a,w|
probabilities[a] = w.sum/weights.sum
end
+ # DG: hack to ensure always two probability values
+ if probabilities.keys.uniq.size == 1
+ missing_key = probabilities.keys.uniq[0].match(/^non/) ? probabilities.keys.uniq[0].sub(/non-/,"") : "non-"+probabilities.keys.uniq[0]
+ probabilities[missing_key] = 0.0
+ end
probabilities = probabilities.collect{|a,p| [a,weights.max*p]}.to_h
p_max = probabilities.collect{|a,p| p}.max
prediction = probabilities.key(p_max)