From 1f95bfdc11de7c4fdc2e9f0313be3506dd6ea9c1 Mon Sep 17 00:00:00 2001 From: gebele Date: Thu, 4 May 2017 09:50:08 +0000 Subject: ensure warnings for validation statistics --- lib/crossvalidation.rb | 1 + lib/validation-statistics.rb | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/crossvalidation.rb b/lib/crossvalidation.rb index 75c5db5..06a1e2a 100644 --- a/lib/crossvalidation.rb +++ b/lib/crossvalidation.rb @@ -90,6 +90,7 @@ module OpenTox field :within_prediction_interval, type: Integer, default:0 field :out_of_prediction_interval, type: Integer, default:0 field :correlation_plot_id, type: BSON::ObjectId + field :warnings, type: Array end # Independent repeated crossvalidations diff --git a/lib/validation-statistics.rb b/lib/validation-statistics.rb index 2d522ae..69e7992 100644 --- a/lib/validation-statistics.rb +++ b/lib/validation-statistics.rb @@ -111,6 +111,7 @@ module OpenTox # Get statistics # @return [Hash] def statistics + self.warnings = [] self.rmse = 0 self.mae = 0 self.within_prediction_interval = 0 @@ -132,8 +133,10 @@ module OpenTox end end else - warnings << "No training activities for #{Compound.find(compound_id).smiles} in training dataset #{model.training_dataset_id}." - $logger.debug "No training activities for #{Compound.find(compound_id).smiles} in training dataset #{model.training_dataset_id}." + trd_id = model.training_dataset_id + smiles = Compound.find(cid).smiles + self.warnings << "No training activities for #{smiles} in training dataset #{trd_id}." + $logger.debug "No training activities for #{smiles} in training dataset #{trd_id}." end end R.assign "measurement", x @@ -146,6 +149,7 @@ module OpenTox $logger.debug "RMSE #{rmse}" $logger.debug "MAE #{mae}" $logger.debug "#{percent_within_prediction_interval.round(2)}% of measurements within prediction interval" + $logger.debug "#{warnings}" save { :mae => mae, -- cgit v1.2.3