From ec87f7e079f3a7ef8ea6a0fa57f3b40e81ecaed0 Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Wed, 5 Oct 2016 14:43:18 +0200 Subject: classification and regression tests --- test/classification.rb | 8 ++++---- test/regression.rb | 25 +++++++++++++++++++------ 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/test/classification.rb b/test/classification.rb index 9104022..6638a79 100644 --- a/test/classification.rb +++ b/test/classification.rb @@ -4,7 +4,7 @@ class LazarClassificationTest < MiniTest::Test def test_lazar_classification training_dataset = Dataset.from_csv_file File.join(DATA_DIR,"hamster_carcinogenicity.csv") - model = Model::LazarClassification.create training_dataset.features.first, training_dataset + model = Model::Lazar.create training_dataset: training_dataset [ { :compound => OpenTox::Compound.from_inchi("InChI=1S/C6H6/c1-2-4-6-5-3-1/h1-6H"), @@ -40,9 +40,9 @@ class LazarClassificationTest < MiniTest::Test def test_lazar_kazius t = Time.now - dataset = Dataset.from_csv_file File.join(DATA_DIR,"kazius.csv") + training_dataset = Dataset.from_csv_file File.join(DATA_DIR,"kazius.csv") t = Time.now - model = Model::LazarClassification.create(dataset.features.first,dataset) + model = Model::Lazar.create training_dataset: training_dataset t = Time.now 2.times do compound = Compound.from_smiles("Clc1ccccc1NN") @@ -50,6 +50,6 @@ class LazarClassificationTest < MiniTest::Test assert_equal "1", prediction[:value] #assert_in_delta 0.019858401199860445, prediction[:confidence], 0.001 end - dataset.delete + training_dataset.delete end end diff --git a/test/regression.rb b/test/regression.rb index dff0518..4c21450 100644 --- a/test/regression.rb +++ b/test/regression.rb @@ -4,7 +4,15 @@ class LazarRegressionTest < MiniTest::Test def test_weighted_average training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi_log10.csv" - model = Model::LazarRegression.create training_dataset.features.first, training_dataset, {:neighbor_algorithm_parameters => {:min_sim => 0}, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_weighted_average"} + algorithms = { + :similarity => { + :min => 0 + }, + :prediction => { + :method => "Algorithm::Regression.weighted_average", + }, + } + model = Model::Lazar.create training_dataset: training_dataset, algorithms: algorithms compound = Compound.from_smiles "CC(C)(C)CN" prediction = model.predict compound assert_equal -0.86, prediction[:value].round(2) @@ -13,17 +21,22 @@ class LazarRegressionTest < MiniTest::Test def test_mpd_fingerprints training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi_log10.csv" - model = Model::LazarRegression.create training_dataset.features.first, training_dataset - model.neighbor_algorithm_parameters[:type] = "MP2D" + algorithms = { + :descriptors => { + :method => "fingerprint", + :type => "MP2D" + } + } + model = Model::Lazar.create training_dataset: training_dataset, algorithms: algorithms compound = Compound.from_smiles "CCCSCCSCC" prediction = model.predict compound - assert_equal 1.37, prediction[:value].round(2) assert_equal 3, prediction[:neighbors].size + assert_equal 1.37, prediction[:value].round(2) end def test_local_fingerprint_regression training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi_log10.csv" - model = Model::LazarRegression.create(training_dataset.features.first, training_dataset, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_fingerprint_regression") + model = Model::Lazar.create training_dataset: training_dataset compound = Compound.from_smiles "NC(=O)OCCC" prediction = model.predict compound refute_nil prediction[:value] @@ -34,7 +47,7 @@ class LazarRegressionTest < MiniTest::Test def test_local_physchem_regression skip # TODO: fix training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi_log10.csv" - model = Model::LazarRegression.create(training_dataset.features.first, training_dataset, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_physchem_regression") + model = Model::Lazar.create(training_dataset.features.first, 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] -- cgit v1.2.3