summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2016-11-08 16:04:49 +0100
committerChristoph Helma <helma@in-silico.ch>2016-11-08 16:04:49 +0100
commitc6e86fc1bfee7cb91782dd7067408d78a8e48ed9 (patch)
treef5c2c04d8a30e68180ef0114f02e95169e89483b
parent280f81dcffb3b8b929ff9cbe92ba17403f5a9dd3 (diff)
probability plot for classification
-rw-r--r--lib/validation-statistics.rb12
-rw-r--r--test/descriptor.rb4
-rw-r--r--test/validation-classification.rb6
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