From 65b69d4c35890a7a2d2992108f0cf4eb5202dd1b Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Wed, 1 Jun 2016 10:37:00 +0200 Subject: validation tests fixed --- lib/validation-statistics.rb | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'lib/validation-statistics.rb') diff --git a/lib/validation-statistics.rb b/lib/validation-statistics.rb index 816824b..e42d298 100644 --- a/lib/validation-statistics.rb +++ b/lib/validation-statistics.rb @@ -98,8 +98,8 @@ module OpenTox def statistics # TODO: predictions within prediction_interval - rmse = 0 - mae = 0 + self.rmse = 0 + self.mae = 0 x = [] y = [] predictions.each do |cid,pred| @@ -107,8 +107,8 @@ module OpenTox x << pred[:measurements].median y << pred[:value] error = pred[:value]-pred[:measurements].median - rmse += error**2 - mae += error.abs + self.rmse += error**2 + self.mae += error.abs 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}." @@ -117,17 +117,18 @@ module OpenTox R.assign "measurement", x R.assign "prediction", y R.eval "r <- cor(measurement,prediction,use='pairwise')" - r = R.eval("r").to_ruby + self.r_squared = R.eval("r").to_ruby**2 - mae = mae/predictions.size - rmse = Math.sqrt(rmse/predictions.size) - $logger.debug "R^2 #{r**2}" + self.mae = self.mae/predictions.size + self.rmse = Math.sqrt(self.rmse/predictions.size) + $logger.debug "R^2 #{r_squared}" $logger.debug "RMSE #{rmse}" $logger.debug "MAE #{mae}" + save { :mae => mae, :rmse => rmse, - :r_squared => r**2, + :r_squared => r_squared, } end -- cgit v1.2.3