From c6e86fc1bfee7cb91782dd7067408d78a8e48ed9 Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Tue, 8 Nov 2016 16:04:49 +0100 Subject: probability plot for classification --- lib/validation-statistics.rb | 12 ++++++++---- test/descriptor.rb | 4 +++- test/validation-classification.rb | 6 ++++-- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/validation-statistics.rb b/lib/validation-statistics.rb index 799bb34..b6f8a60 100644 --- a/lib/validation-statistics.rb +++ b/lib/validation-statistics.rb @@ -66,8 +66,13 @@ module OpenTox end def probability_plot format: "pdf" - unless probability_plot_id - tmpfile = "/tmp/#{id.to_s}_probability.#{format}" + #unless probability_plot_id + + #tmpdir = File.join(ENV["HOME"], "tmp") + tmpdir = "/tmp" + #p tmpdir + FileUtils.mkdir_p tmpdir + tmpfile = File.join(tmpdir,"#{id.to_s}_probability.#{format}") accuracies = [] probabilities = [] correct_predictions = 0 @@ -91,7 +96,7 @@ module OpenTox file = Mongo::Grid::File.new(File.read(tmpfile), :filename => "#{self.id.to_s}_probability_plot.svg") plot_id = $gridfs.insert_one(file) update(:probability_plot_id => plot_id) - end + #end $gridfs.find_one(_id: probability_plot_id).data end end @@ -139,7 +144,6 @@ module OpenTox :mae => mae, :rmse => rmse, :r_squared => r_squared, - :r_squared_adjusted => r_squared_adjusted, :within_prediction_interval => within_prediction_interval, :out_of_prediction_interval => out_of_prediction_interval, } diff --git a/test/descriptor.rb b/test/descriptor.rb index e5d8ff9..42d4661 100644 --- a/test/descriptor.rb +++ b/test/descriptor.rb @@ -12,7 +12,9 @@ class DescriptorTest < MiniTest::Test def test_smarts c = OpenTox::Compound.from_smiles "N=C=C1CCC(=F=FO)C1" - File.open("tmp.png","w+"){|f| f.puts c.png} + File.open("/tmp/tmp.png","w+"){|f| f.puts c.png} + assert_match /^PNG/,`file -b /tmp/tmp.png` + File.delete "/tmp/tmp.png" s = Smarts.find_or_create_by(:smarts => "F=F") result = c.smarts_match [s] assert_equal [1], result diff --git a/test/validation-classification.rb b/test/validation-classification.rb index c93e71f..fb4c3e7 100644 --- a/test/validation-classification.rb +++ b/test/validation-classification.rb @@ -11,8 +11,10 @@ class ValidationClassificationTest < MiniTest::Test cv = ClassificationCrossValidation.create model assert cv.accuracy > 0.7, "Accuracy (#{cv.accuracy}) should be larger than 0.7, this may occur due to an unfavorable training/test set split" assert cv.weighted_accuracy > cv.accuracy, "Weighted accuracy (#{cv.weighted_accuracy}) should be larger than accuracy (#{cv.accuracy})." - #p cv - #File.open("tmp.pdf","w+"){|f| f.puts cv.probability_plot} + File.open("/tmp/tmp.pdf","w+"){|f| f.puts cv.probability_plot(format:"pdf")} + p `file -b /tmp/tmp.pdf` + File.open("/tmp/tmp.png","w+"){|f| f.puts cv.probability_plot(format:"png")} + p `file -b /tmp/tmp.png` end # parameters -- cgit v1.2.3