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/lazar-regression.rb | 51 ------------------------------------------------ test/regression.rb | 42 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 51 deletions(-) delete mode 100644 test/lazar-regression.rb create mode 100644 test/regression.rb (limited to 'test') diff --git a/test/lazar-regression.rb b/test/lazar-regression.rb deleted file mode 100644 index ae8f725..0000000 --- a/test/lazar-regression.rb +++ /dev/null @@ -1,51 +0,0 @@ -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_pls_regression - training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv" - model = Model::LazarRegression.create training_dataset - compound = Compound.from_smiles "NC(=O)OCCC" - prediction = model.predict compound - p prediction - model.update(:prediction_algorithm => "OpenTox::Algorithm::Regression.local_pls_regression") - prediction = model.predict compound - p prediction - #assert_equal 13.6, prediction[:value].round(1) - #assert_equal 0.83, prediction[:confidence].round(2) - #assert_equal 1, prediction[:neighbors].size - 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 - model.update(:prediction_algorithm => "OpenTox::Algorithm::Regression.local_pls_regression") - prediction = model.predict compound - # TODO assertions - #assert_equal 13.6, prediction[:value].round(1) - #assert_equal 0.83, prediction[:confidence].round(2) - #assert_equal 1, prediction[:neighbors].size - end - -end 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