summaryrefslogtreecommitdiff
path: root/test/regression-model.rb
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2019-06-20 22:01:50 +0200
committerChristoph Helma <helma@in-silico.ch>2019-06-20 22:01:50 +0200
commit455da06aa6459da0d25b286ca6cb866ff64c4c34 (patch)
treed0ed8fcf720a02742da781669251f379b8fd07f0 /test/regression-model.rb
parent1b44e0cd76f2ead93b8b3fa0f970c85ef32a4b14 (diff)
separate csv serialisations for batch predictions and training data, repeated measurements in mutagenicity dataset fixed, daphnia import fixed, CENTRAL_MONGO_IP removed
Diffstat (limited to 'test/regression-model.rb')
-rw-r--r--test/regression-model.rb17
1 files changed, 15 insertions, 2 deletions
diff --git a/test/regression-model.rb b/test/regression-model.rb
index 7f667dc..3b41171 100644
--- a/test/regression-model.rb
+++ b/test/regression-model.rb
@@ -173,13 +173,26 @@ class LazarRegressionTest < MiniTest::Test
model = Model::Lazar.create training_dataset: training_dataset
result = model.predict training_dataset
assert_kind_of Dataset, result
- assert_equal 6, result.features.size
+ assert_equal 8, result.features.size
assert_equal 88, result.compounds.size
assert_equal [1.95], result.values(result.compounds.first, result.bioactivity_features[0]).collect{|v| v.round(2)}
assert_equal [1.37], result.values(result.compounds[6], result.bioactivity_features[0]).collect{|v| v.round(2)}
- assert_equal [1.79], result.values(result.compounds[6], result.prediction_features[0]).collect{|v| v.round(2)}
+ assert_equal [1.79], result.values(result.compounds[6], result.prediction_feature).collect{|v| v.round(2)}
assert_equal [1.84,1.73], result.values(result.compounds[7], result.bioactivity_features[0]).collect{|v| v.round(2)}
assert_match /Low/i, result.predictions[result.compounds[6]][:confidence]
+ csv = result.to_prediction_csv
+ rows = csv.split("\n")
+ assert_equal "ID,Original SMILES,Canonical SMILES,Prediction,Confidence,Lower prediction interval,Upper prediction interval,Measurements", rows[0]
+ items = rows[3].split(",")
+ # prediction and measurement within prediciton interval
+ prediction = items[3].to_f
+ pi_low = items[5].to_f
+ pi_hi = items[6].to_f
+ measurement = items[7].to_f
+ [prediction,measurement].each do |v|
+ assert(v > pi_low)
+ assert(v < pi_hi)
+ end
end
end