summaryrefslogtreecommitdiff
path: root/cv/data/utils/create_selected_feature_ds.rb
blob: c30a23ed5856e4e873e6908ca3cf345745c9bf43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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") || (pc == "test") || (pc == "training")
    #[false, true].each { |del_missing| 
    [false].each { |del_missing| #false is default 
      begin
        create_f_ds(ds[dataset]["dataset"], ds[dataset][pc], del_missing) unless (pc == "dataset") || (pc == "test") || (pc == "training")
      rescue
      end
    }
    puts "-----------------" unless pc == "dataset"
  }
}