diff options
author | gebele <gebele@in-silico.ch> | 2017-01-18 14:17:02 +0000 |
---|---|---|
committer | gebele <gebele@in-silico.ch> | 2017-01-18 14:17:02 +0000 |
commit | dd8b986e198552ce865aa5500335043f60a0eef3 (patch) | |
tree | f5c06159d0a529f263ea25f6354f89825fc41410 /lib/validation-statistics.rb | |
parent | 76912e72cf52c2a10423226ababb2b6d7f4b84ca (diff) | |
parent | d7504cc422bbaeee3546589d87e7baeb4e977c0b (diff) |
fixed merge
Diffstat (limited to 'lib/validation-statistics.rb')
-rw-r--r-- | lib/validation-statistics.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/validation-statistics.rb b/lib/validation-statistics.rb index 2202b79..553e6ac 100644 --- a/lib/validation-statistics.rb +++ b/lib/validation-statistics.rb @@ -1,7 +1,10 @@ module OpenTox module Validation + # Statistical evaluation of classification validations module ClassificationStatistics + # Get statistics + # @return [Hash] def statistics self.accept_values = model.prediction_feature.accept_values self.confusion_matrix = Array.new(accept_values.size){Array.new(accept_values.size,0)} @@ -63,6 +66,9 @@ module OpenTox } end + # Plot accuracy vs prediction probability + # @param [String,nil] format + # @return [Blob] def probability_plot format: "pdf" #unless probability_plot_id @@ -99,8 +105,11 @@ module OpenTox end end + # Statistical evaluation of regression validations module RegressionStatistics + # Get statistics + # @return [Hash] def statistics self.rmse = 0 self.mae = 0 @@ -147,10 +156,15 @@ module OpenTox } end + # Get percentage of measurements within the prediction interval + # @return [Float] def percent_within_prediction_interval 100*within_prediction_interval.to_f/(within_prediction_interval+out_of_prediction_interval) end + # Plot predicted vs measured values + # @param [String,nil] format + # @return [Blob] def correlation_plot format: "png" unless correlation_plot_id tmpfile = "/tmp/#{id.to_s}_correlation.#{format}" @@ -177,6 +191,11 @@ module OpenTox $gridfs.find_one(_id: correlation_plot_id).data end + # Get predictions with the largest difference between predicted and measured values + # @params [Fixnum] number of predictions + # @params [TrueClass,FalseClass,nil] include neighbors + # @params [TrueClass,FalseClass,nil] show common descriptors + # @return [Hash] def worst_predictions n: 5, show_neigbors: true, show_common_descriptors: false worst_predictions = predictions.sort_by{|sid,p| -(p["value"] - p["measurements"].median).abs}[0,n] worst_predictions.collect do |p| |