Class: OpenTox::LeaveOneOutValidation

Inherits:
Object
  • Object
show all
Defined in:
lib/leave-one-out-validation.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create(model) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/leave-one-out-validation.rb', line 12

def self.create model
  model.training_dataset.features.first.nominal? ? klass = ClassificationLeaveOneOutValidation : klass = RegressionLeaveOneOutValidation
  loo = klass.new :model_id => model.id, :dataset_id => model.training_dataset_id
  compound_ids = model.training_dataset.compound_ids
  predictions = model.predict model.training_dataset.compounds
  predictions = predictions.each_with_index {|p,i| p[:compound_id] = compound_ids[i]}
  predictions.select!{|p| p[:database_activities] and !p[:database_activities].empty?}
  loo.nr_instances = predictions.size
  predictions.select!{|p| p[:value]} # remove unpredicted
  loo.predictions = predictions#.sort{|a,b| b[:confidence] <=> a[:confidence]}
  loo.nr_unpredicted = loo.nr_instances - loo.predictions.size
  loo.statistics
  loo.save
  loo
end

Instance Method Details

#modelObject



28
29
30
# File 'lib/leave-one-out-validation.rb', line 28

def model
  Model::Lazar.find model_id
end