From bdc6b5b40437896384561d74a510560e9e592364 Mon Sep 17 00:00:00 2001 From: "helma@in-silico.ch" Date: Tue, 9 Oct 2018 18:20:27 +0200 Subject: tentative random forest classification: hangs unpredictably during caret model generation/optimization for some (inorganic?) compounds. --- lib/classification.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/classification.rb') diff --git a/lib/classification.rb b/lib/classification.rb index a875903..2668e4a 100644 --- a/lib/classification.rb +++ b/lib/classification.rb @@ -19,6 +19,7 @@ module OpenTox probabilities[a] = w.sum/weights.sum end # DG: hack to ensure always two probability values + # TODO: does not work for arbitrary feature names FIX!! 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 @@ -26,7 +27,7 @@ module OpenTox probabilities = probabilities.collect{|a,p| [a,weights.max*p]}.to_h p_max = probabilities.collect{|a,p| p}.max prediction = probabilities.key(p_max) - {:value => prediction,:probabilities => probabilities} + {:value => prediction,:probabilities => probabilities,:warnings => []} end end -- cgit v1.2.3 From de763211bd2b6451e3a8dc20eb95a3ecf72bef17 Mon Sep 17 00:00:00 2001 From: "helma@in-silico.ch" Date: Thu, 11 Oct 2018 12:13:40 +0200 Subject: initial dataset batch prediction --- lib/classification.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/classification.rb') diff --git a/lib/classification.rb b/lib/classification.rb index 2668e4a..468c06a 100644 --- a/lib/classification.rb +++ b/lib/classification.rb @@ -20,10 +20,10 @@ module OpenTox end # DG: hack to ensure always two probability values # TODO: does not work for arbitrary feature names FIX!! - 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 +# 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) -- cgit v1.2.3 From 9d17895ab9e8cd31e0f32e8e622e13612ea5ff77 Mon Sep 17 00:00:00 2001 From: "helma@in-silico.ch" Date: Fri, 12 Oct 2018 21:58:36 +0200 Subject: validation statistic fixes --- lib/classification.rb | 6 ------ 1 file changed, 6 deletions(-) (limited to 'lib/classification.rb') diff --git a/lib/classification.rb b/lib/classification.rb index 468c06a..e78783b 100644 --- a/lib/classification.rb +++ b/lib/classification.rb @@ -18,12 +18,6 @@ module OpenTox class_weights.each do |a,w| probabilities[a] = w.sum/weights.sum end - # DG: hack to ensure always two probability values - # TODO: does not work for arbitrary feature names FIX!! -# 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) -- cgit v1.2.3 From 3a9c9332b660d35720ad4fa1f55ee0883e53aecd Mon Sep 17 00:00:00 2001 From: "helma@in-silico.ch" Date: Fri, 2 Nov 2018 20:34:44 +0100 Subject: warnings fixed, cleanup --- lib/classification.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/classification.rb') diff --git a/lib/classification.rb b/lib/classification.rb index e78783b..638492b 100644 --- a/lib/classification.rb +++ b/lib/classification.rb @@ -21,7 +21,7 @@ module OpenTox probabilities = probabilities.collect{|a,p| [a,weights.max*p]}.to_h p_max = probabilities.collect{|a,p| p}.max prediction = probabilities.key(p_max) - {:value => prediction,:probabilities => probabilities,:warnings => []} + {:value => prediction,:probabilities => probabilities} end end -- cgit v1.2.3