diff options
author | Christoph Helma <helma@in-silico.ch> | 2016-03-23 11:46:47 +0100 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2016-03-23 11:46:47 +0100 |
commit | 130524b0efa98f6e63d39c55e2f643130459ceee (patch) | |
tree | e0229ae7b99bd4cf074306ce34d1f5dd3daffc79 /lib | |
parent | 6117375fdc800fd071fc4983896c26700bf2acd7 (diff) |
prediction interval for regression
Diffstat (limited to 'lib')
-rw-r--r-- | lib/model.rb | 3 | ||||
-rw-r--r-- | lib/regression.rb | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/model.rb b/lib/model.rb index 5da5dc8..8e657b8 100644 --- a/lib/model.rb +++ b/lib/model.rb @@ -63,10 +63,11 @@ module OpenTox end neighbors.delete_if{|n| n['features'].empty? or n['features'][prediction_feature.id.to_s] == [nil] } if neighbors.empty? - prediction.merge!({:value => nil,:confidence => nil,:warning => "Could not find similar compounds with experimental data in the training dataset."}) + prediction.merge!({:value => nil,:confidence => nil,:warning => "Could not find similar compounds with experimental data in the training dataset.",:neighbors => []}) else prediction.merge!(Algorithm.run(prediction_algorithm, compound, {:neighbors => neighbors,:training_dataset_id=> training_dataset_id,:prediction_feature_id => prediction_feature.id})) prediction[:neighbors] = neighbors + prediction[:neighbors] ||= [] end prediction end diff --git a/lib/regression.rb b/lib/regression.rb index af72d7d..5021fb3 100644 --- a/lib/regression.rb +++ b/lib/regression.rb @@ -66,6 +66,7 @@ module OpenTox prediction[:warning] = "Could not create local PLS model. Using weighted average of similar compounds." return prediction else + prediction[:prediction_interval] = [10**(prediction[:value]-1.96*prediction[:rmse]), 10**(prediction[:value]+1.96*prediction[:rmse])] prediction[:value] = 10**prediction[:value] prediction[:rmse] = 10**prediction[:rmse] prediction |