summaryrefslogtreecommitdiff
path: root/lib/caret.rb
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2016-10-14 09:55:51 +0200
committerChristoph Helma <helma@in-silico.ch>2016-10-14 09:55:51 +0200
commitfbded88db8b51f41ffbd5a02f601e4538ec87258 (patch)
tree82ce46019ad490bef7547f7a67e40fc0b2bbd8e7 /lib/caret.rb
parent09452bba5c407c27721223d126e3f45c12b20a0c (diff)
git commit added to model metadata
Diffstat (limited to 'lib/caret.rb')
-rw-r--r--lib/caret.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/caret.rb b/lib/caret.rb
index 2c4cd0c..e24c943 100644
--- a/lib/caret.rb
+++ b/lib/caret.rb
@@ -2,10 +2,17 @@ module OpenTox
module Algorithm
class Caret
- # TODO classification
# model list: https://topepo.github.io/caret/modelList.html
def self.create_model_and_predict dependent_variables:, independent_variables:, weights:, method:, query_variables:
+ remove = []
+ # remove independent_variables with single values
+ independent_variables.each_with_index { |values,i| remove << i if values.uniq.size == 1}
+ remove.sort.reverse.each do |i|
+ independent_variables.delete_at i
+ weights.delete_at i
+ query_variables.delete_at i
+ end
if independent_variables.flatten.uniq == ["NA"]
prediction = Algorithm::Regression::weighted_average dependent_variables:dependent_variables, weights:weights
prediction[:warning] = "No variables for regression model. Using weighted average of similar substances."