diff options
author | gebele <gebele@in-silico.ch> | 2017-05-04 09:50:57 +0000 |
---|---|---|
committer | gebele <gebele@in-silico.ch> | 2017-05-04 09:50:57 +0000 |
commit | d4d914052de0a37489f9491dbe491093bd14a03a (patch) | |
tree | 066d59b9b6dfa1272381509b2c7af12508de54ef /lib/classification.rb | |
parent | 1f95bfdc11de7c4fdc2e9f0313be3506dd6ea9c1 (diff) |
ensure always two probability values for classification
Diffstat (limited to 'lib/classification.rb')
-rw-r--r-- | lib/classification.rb | 5 |
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) |