diff options
Diffstat (limited to 'nch/08_grid_search.rb')
-rwxr-xr-x | nch/08_grid_search.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/nch/08_grid_search.rb b/nch/08_grid_search.rb new file mode 100755 index 0000000..c5ae2a3 --- /dev/null +++ b/nch/08_grid_search.rb @@ -0,0 +1,53 @@ +#!/usr/bin/env ruby + +require "./config.rb" + +require "bundler" +Bundler.require + +DATA.each do |d| + puts "" + puts d + + dataset_uri = dataset_uri(d) + prediction_feature = prediction_feature(d) + + results = [] +# skip_ratio = 0.8 +# random_seed = 3 + { + all_feature_dataset_uri(d)=>"all-pc-features", +# new_feature_dataset_uri(d)=>"new-pc-features", +# ob_feature_dataset_uri(d)=>"ob-pc-features", + }.each do |feature_dataset_uri,f_desc| + [ 0.65 ].each do |min_sim| # [0.2,0.4,0.6,0.8] + [ 0.0 ].each do |min_train| #[0.0,0.1,0.2] + + puts "\nfeatures #{f_desc}" + puts "min_sim #{min_sim}" + puts "min_train #{min_train}" + + params = { :dataset_uri => dataset_uri, + :algorithm_uri => File.join($algorithm[:uri],"lazar"), + :algorithm_params => "feature_dataset_uri=#{feature_dataset_uri};min_sim=#{min_sim};min_train_performance=#{min_train}", + :prediction_feature => prediction_feature, + :loo => "uniq", } + if defined?(skip_ratio) + params[:skip_ratio] = skip_ratio + params[:random_seed] = random_seed + end + cv_uri = wait_for_task(OpenTox::RestClientWrapper.post("http://localhost:8087/validation/crossvalidation/loo",params)) + cv = OpenTox::Crossvalidation.find(cv_uri) + puts "Cross-Validation: "+cv.uri + r_square = cv.statistics.metadata[RDF::OT.regressionStatistics.to_s][RDF::OT.rSquare.to_s] + unpredicted = cv.statistics.metadata[RDF::OT.numUnpredicted.to_s] + puts "r^2 #{r_square}" + # r = OpenTox::CrossvalidationReport.create(cv.uri) + # puts "Report: "+r.uri + + results << {:min_sim => min_sim, :min_train=>min_train, :cv => cv_uri, :r_square => r_square, :unpredicted => unpredicted, :features => f_desc}#, :report => r.uri} + puts results.to_yaml + end + end + end +end |