summaryrefslogtreecommitdiff
path: root/test/regression.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/regression.rb')
-rw-r--r--test/regression.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/regression.rb b/test/regression.rb
new file mode 100644
index 0000000..ad460b5
--- /dev/null
+++ b/test/regression.rb
@@ -0,0 +1,43 @@
+require_relative "setup.rb"
+
+class LazarRegressionTest < MiniTest::Test
+
+ def test_weighted_average
+ training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv"
+ model = Model::LazarRegression.create training_dataset, {:neighbor_algorithm_parameters => {:min_sim => 0}, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_weighted_average"}
+ compound = Compound.from_smiles "CC(C)(C)CN"
+ prediction = model.predict compound
+ assert_equal 7.2, prediction[:value].round(1)
+ assert_equal 88, prediction[:neighbors].size
+ end
+
+ def test_mpd_fingerprints
+ training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv"
+ model = Model::LazarRegression.create training_dataset
+ model.neighbor_algorithm_parameters[:type] = "MP2D"
+ compound = Compound.from_smiles "CCCSCCSCC"
+ prediction = model.predict compound
+ assert_equal 0.04, prediction[:value].round(2)
+ assert_equal 3, prediction[:neighbors].size
+ end
+
+ def test_local_fingerprint_regression
+ training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv"
+ model = Model::LazarRegression.create(training_dataset, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_fingerprint_regression")
+ compound = Compound.from_smiles "NC(=O)OCCC"
+ prediction = model.predict compound
+ p prediction
+ refute_nil prediction[:value]
+ refute_nil prediction[:prediction_interval]
+ refute_empty prediction[:neighbors]
+ end
+
+ def test_local_physchem_regression
+ training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv"
+ model = Model::LazarRegression.create(training_dataset, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_physchem_regression")
+ compound = Compound.from_smiles "NC(=O)OCCC"
+ prediction = model.predict compound
+ refute_nil prediction[:value]
+ end
+
+end