summaryrefslogtreecommitdiff
path: root/cv/data/utils/create_selected_feature_ds.rb
diff options
context:
space:
mode:
Diffstat (limited to 'cv/data/utils/create_selected_feature_ds.rb')
-rw-r--r--cv/data/utils/create_selected_feature_ds.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/cv/data/utils/create_selected_feature_ds.rb b/cv/data/utils/create_selected_feature_ds.rb
new file mode 100644
index 0000000..0e5f063
--- /dev/null
+++ b/cv/data/utils/create_selected_feature_ds.rb
@@ -0,0 +1,47 @@
+require 'rubygems'
+require 'opentox-ruby'
+require 'yaml'
+
+@subjectid = nil
+
+
+
+def create_f_ds(t_ds_uri, f_ds_uri, del)
+
+ regression_training_dataset = OpenTox::Dataset.find(t_ds_uri, @subjectid)
+ prediction_feature = regression_training_dataset.features.keys.first
+ regression_feature_dataset = OpenTox::Dataset.find(f_ds_uri, @subjectid)
+
+ params = {}
+ params[:dataset_uri] = regression_training_dataset.uri
+ params[:prediction_feature_uri] = prediction_feature
+ params[:feature_dataset_uri] = regression_feature_dataset.uri
+ params[:del_missing] = del
+ puts params.to_yaml
+ feature_selection_algo_uri = File.join(CONFIG[:services]["opentox-algorithm"],"feature_selection/rfe")
+ puts feature_selection_algo_uri
+
+ result = OpenTox::RestClientWrapper.post( feature_selection_algo_uri, params)
+ puts "--- Feature dataset is: ---"
+ puts result
+
+ puts
+end
+
+
+
+
+ds = YAML::load_file("../datasets.yaml")
+ds.keys.each { |dataset|
+ puts "----------------- next dataset -----------------"
+ ds[dataset].keys.each { |pc|
+ puts pc unless pc == "dataset"
+ [false, true].each { |del_missing|
+ begin
+ create_f_ds(ds[dataset]["dataset"], ds[dataset][pc], del_missing) unless pc == "dataset"
+ rescue
+ end
+ }
+ puts "-----------------" unless pc == "dataset"
+ }
+}