summaryrefslogtreecommitdiff
path: root/cv/data/utils/create_selected_feature_ds.rb
blob: 0e5f063300e0b8f73b4c044852fe5c3b4ba4f12a (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
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"
  }
}