From 003332ad95dd4c63d0b7c00d22c73f460b163139 Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Mon, 29 Feb 2016 14:11:30 +0100 Subject: modular regression algorithms --- test/regression.rb | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 test/regression.rb (limited to 'test/regression.rb') diff --git a/test/regression.rb b/test/regression.rb new file mode 100644 index 0000000..fa3b7fb --- /dev/null +++ b/test/regression.rb @@ -0,0 +1,42 @@ +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.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[:value] + refute_nil prediction[:value] + 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 + p prediction[:value] + refute_nil prediction[:value] + end + +end -- cgit v1.2.3 From 24b1524f20eccd3bfd59171f1f7151fcc272a427 Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Mon, 14 Mar 2016 10:06:22 +0100 Subject: folds split on unique compounds instead of data entries --- test/regression.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test/regression.rb') diff --git a/test/regression.rb b/test/regression.rb index fa3b7fb..c25ed2b 100644 --- a/test/regression.rb +++ b/test/regression.rb @@ -26,7 +26,7 @@ class LazarRegressionTest < MiniTest::Test 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[:value] + p prediction refute_nil prediction[:value] end @@ -35,7 +35,7 @@ class LazarRegressionTest < MiniTest::Test 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 - p prediction[:value] + p prediction refute_nil prediction[:value] end -- cgit v1.2.3 From 7c3bd90c26dfeea2db3cf74a1cefc23d8dece7c0 Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Tue, 15 Mar 2016 17:40:40 +0100 Subject: validation tests pass --- test/regression.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/regression.rb') diff --git a/test/regression.rb b/test/regression.rb index c25ed2b..6936eb6 100644 --- a/test/regression.rb +++ b/test/regression.rb @@ -4,7 +4,7 @@ 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.weighted_average"} + 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) -- cgit v1.2.3 From abc3526e318a2bfa24dfe033d8879e7657c2ae5c Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Tue, 15 Mar 2016 18:46:34 +0100 Subject: single tests pass --- test/regression.rb | 2 -- 1 file changed, 2 deletions(-) (limited to 'test/regression.rb') diff --git a/test/regression.rb b/test/regression.rb index 6936eb6..8dfb6d7 100644 --- a/test/regression.rb +++ b/test/regression.rb @@ -26,7 +26,6 @@ class LazarRegressionTest < MiniTest::Test 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] end @@ -35,7 +34,6 @@ class LazarRegressionTest < MiniTest::Test 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 - p prediction refute_nil prediction[:value] end -- cgit v1.2.3 From 130524b0efa98f6e63d39c55e2f643130459ceee Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Wed, 23 Mar 2016 11:46:47 +0100 Subject: prediction interval for regression --- test/regression.rb | 3 +++ 1 file changed, 3 insertions(+) (limited to 'test/regression.rb') diff --git a/test/regression.rb b/test/regression.rb index 8dfb6d7..ad460b5 100644 --- a/test/regression.rb +++ b/test/regression.rb @@ -26,7 +26,10 @@ class LazarRegressionTest < MiniTest::Test 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 -- cgit v1.2.3