From b3d06283d94de0ba7b3e386726876dffcc401095 Mon Sep 17 00:00:00 2001 From: mguetlein Date: Tue, 12 Jun 2012 20:13:11 +0200 Subject: add/adjust/remove log messages --- application.rb | 4 ++-- lib/predictions.rb | 4 ++-- validation/validation_application.rb | 39 +++++++++++++++++++++++------------- validation/validation_service.rb | 16 +++++++++------ validation/validation_test.rb | 7 ++----- 5 files changed, 41 insertions(+), 29 deletions(-) diff --git a/application.rb b/application.rb index 10c8fe6..3c05575 100755 --- a/application.rb +++ b/application.rb @@ -15,7 +15,7 @@ require "example.rb" get '/examples/?' do - LOGGER.info "list examples" + LOGGER.debug "list examples" if request.env['HTTP_ACCEPT'] =~ /text\/html/ content_type "text/html" @@ -27,7 +27,7 @@ get '/examples/?' do end get '/prepare_examples/?' do - LOGGER.info "prepare examples" + LOGGER.debug "prepare examples" content_type "text/plain" return_task(Example.prepare_example_resources) end diff --git a/lib/predictions.rb b/lib/predictions.rb index 348ac44..00a5cdf 100755 --- a/lib/predictions.rb +++ b/lib/predictions.rb @@ -293,9 +293,9 @@ module Lib class_index==nil return 0 unless confidence_values_available? - LOGGER.warn("TODO: implement approx computiation of AUC,"+ + LOGGER.warn("TODO: implement approx computiation of AUC, "+ "so far Wilcoxon-Man-Whitney is used (exponential)") if - @predicted_values.size>1000 + @predicted_values.size>5000 #puts "COMPUTING AUC "+class_index.to_s tp_conf = [] diff --git a/validation/validation_application.rb b/validation/validation_application.rb index 89f47e0..6b2ef3a 100755 --- a/validation/validation_application.rb +++ b/validation/validation_application.rb @@ -15,7 +15,7 @@ helpers do end get '/crossvalidation/?' do - LOGGER.info "list all crossvalidations "+params.inspect + LOGGER.debug "list all crossvalidations "+params.inspect model_uri = params.delete("model") || params.delete("model_uri") if model_uri model = OpenTox::Model::Generic.find(model_uri, @subjectid) @@ -70,6 +70,7 @@ post '/crossvalidation/?' do cv.perform_cv( OpenTox::SubTask.create(task,0,95) ) # computation of stats is cheap as dataset are already loaded into the memory Validation::Validation.from_cv_statistics( cv.id, @subjectid, OpenTox::SubTask.create(task,95,100) ) + LOGGER.info "crossvalidation done #{cv.crossvalidation_uri}" cv.crossvalidation_uri end return_task(task) @@ -111,13 +112,14 @@ post '/crossvalidation/loo/?' do # computation of stats is cheap as dataset are already loaded into the memory Validation::Validation.from_cv_statistics( cv.id, @subjectid, OpenTox::SubTask.create(task,95,100) ) cv.clean_loo_files( !(params[:algorithm_params] && params[:algorithm_params] =~ /feature_dataset_uri/) ) + LOGGER.info "loo-crossvalidation done #{cv.crossvalidation_uri}" cv.crossvalidation_uri end return_task(task) end get '/crossvalidation/loo/?' do - LOGGER.info "list all crossvalidations" + LOGGER.debug "list all crossvalidations" params[:loo]="true" uri_list = Lib::OhmUtil.find( Validation::Crossvalidation, params ).sort.collect{|v| v.crossvalidation_uri}.join("\n") + "\n" if request.env['HTTP_ACCEPT'] =~ /text\/html/ @@ -143,7 +145,7 @@ get '/crossvalidation/loo/?' do end get '/crossvalidation/:id' do - LOGGER.info "get crossvalidation with id "+params[:id].to_s + LOGGER.debug "get crossvalidation with id "+params[:id].to_s # begin # #crossvalidation = Validation::Crossvalidation.find(params[:id]) # rescue ActiveRecord::RecordNotFound => ex @@ -181,7 +183,7 @@ end get '/crossvalidation/:id/statistics' do - LOGGER.info "get crossvalidation statistics for crossvalidation with id "+params[:id].to_s + LOGGER.debug "get crossvalidation statistics for crossvalidation with id "+params[:id].to_s v = Validation::Validation.from_cv_statistics( params[:id], @subjectid ) case request.env['HTTP_ACCEPT'].to_s when /text\/html/ @@ -218,7 +220,7 @@ end get '/crossvalidation/:id/statistics/probabilities' do - LOGGER.info "get crossvalidation statistics for crossvalidation with id "+params[:id].to_s + LOGGER.debug "get crossvalidation statistics for crossvalidation with id "+params[:id].to_s raise OpenTox::BadRequestError.new("Missing params, plz give confidence and prediction") unless params[:confidence] and params[:prediction] v = Validation::Validation.from_cv_statistics( params[:id], @subjectid ) props = v.probabilities(params[:confidence].to_s.to_f,params[:prediction].to_s) @@ -284,7 +286,7 @@ end get '/?' do - LOGGER.info "list all validations, params: "+params.inspect + LOGGER.debug "list all validations, params: "+params.inspect uri_list = Lib::OhmUtil.find( Validation::Validation, params ).sort.delete_if{|v| !v.finished}.collect{|v| v.validation_uri}.join("\n") + "\n" if request.env['HTTP_ACCEPT'] =~ /text\/html/ related_links = @@ -324,6 +326,7 @@ post '/test_set_validation' do :prediction_feature => params[:prediction_feature] v.subjectid = @subjectid v.validate_model( task ) + LOGGER.info "test-set-validation done #{v.validation_uri}" v.validation_uri end return_task(task) @@ -334,7 +337,7 @@ post '/test_set_validation' do end get '/test_set_validation' do - LOGGER.info "list all test-set-validations, params: "+params.inspect + LOGGER.debug "list all test-set-validations, params: "+params.inspect #uri_list = Validation::Validation.find( :all, :conditions => { :validation_type => "test_set_validation" } ).collect{ |v| v.validation_uri }.join("\n")+"\n" #uri_list = Validation::Validation.all( :validation_type => "test_set_validation" ).collect{ |v| v.validation_uri }.join("\n")+"\n" @@ -375,7 +378,8 @@ post '/training_test_validation/?' do :test_target_dataset_uri => params[:test_target_dataset_uri], :prediction_feature => params[:prediction_feature] v.subjectid = @subjectid - v.validate_algorithm( task ) + v.validate_algorithm( task ) + LOGGER.info "training-test-validation done #{v.validation_uri}" v.validation_uri end return_task(task) @@ -386,7 +390,7 @@ post '/training_test_validation/?' do end get '/training_test_validation' do - LOGGER.info "list all training-test-validations, params: "+params.inspect + LOGGER.debug "list all training-test-validations, params: "+params.inspect #uri_list = Validation::Validation.find( :all, :conditions => { :validation_type => "training_test_validation" } ).collect{ |v| v.validation_uri }.join("\n")+"\n" #uri_list = Validation::Validation.all( :validation_type => "training_test_validation" ).collect{ |v| v.validation_uri }.join("\n")+"\n" #params[:validation_type] = "training_test_validation" @@ -434,13 +438,14 @@ post '/bootstrapping' do :test_dataset_uri => params[:test_dataset_uri] v.subjectid = @subjectid v.validate_algorithm( OpenTox::SubTask.create(task,33,100)) + LOGGER.info "bootstrapping validation done #{v.validation_uri}" v.validation_uri end return_task(task) end get '/bootstrapping' do - LOGGER.info "list all bootstrapping-validations, params: "+params.inspect + LOGGER.debug "list all bootstrapping-validations, params: "+params.inspect #uri_list = Validation::Validation.find( :all, :conditions => { :validation_type => "bootstrapping" } ).collect{ |v| v.validation_uri }.join("\n")+"\n" #uri_list = Validation::Validation.all( :validation_type => "bootstrapping" ).collect{ |v| v.validation_uri }.join("\n")+"\n" #params[:validation_type] = "bootstrapping" @@ -493,6 +498,7 @@ post '/training_test_split' do :algorithm_params => params[:algorithm_params] v.subjectid = @subjectid v.validate_algorithm( OpenTox::SubTask.create(task,33,100)) + LOGGER.info "training test split done #{v.validation_uri}" v.validation_uri end return_task(task) @@ -500,7 +506,7 @@ post '/training_test_split' do end get '/training_test_split' do - LOGGER.info "list all training-test-split-validations, params: "+params.inspect + LOGGER.debug "list all training-test-split-validations, params: "+params.inspect #uri_list = Validation::Validation.find( :all, :conditions => { :validation_type => "training_test_split" } ).collect{ |v| v.validation_uri }.join("\n")+"\n" #uri_list = Validation::Validation.all( :validation_type => "training_test_split" ).collect{ |v| v.validation_uri }.join("\n")+"\n" #params[:validation_type] = "training_test_split" @@ -579,7 +585,9 @@ post '/plain_training_test_split' do result = Validation::Util.train_test_dataset_split(params[:dataset_uri], params[:prediction_feature], @subjectid, params[:stratified], params[:split_ratio], params[:random_seed], task) content_type "text/uri-list" - result[:training_dataset_uri]+"\n"+result[:test_dataset_uri]+"\n" + res = result[:training_dataset_uri]+"\n"+result[:test_dataset_uri]+"\n" + LOGGER.info "plain training test split done #{res}" + res end return_task(task) end @@ -609,13 +617,14 @@ post '/validate_datasets' do v.subjectid = @subjectid v.compute_validation_stats(feature_type,predicted_variable,predicted_confidence,nil,nil,false,task) end + LOGGER.info "validate datasets done #{v.validation_uri}" v.validation_uri end return_task(task) end get '/:id/probabilities' do - LOGGER.info "get validation probabilities "+params.inspect + LOGGER.debug "get validation probabilities "+params.inspect begin validation = Validation::Validation.get(params[:id]) @@ -725,7 +734,7 @@ end #end get '/:id' do - LOGGER.info "get validation with id "+params[:id].to_s+" '"+request.env['HTTP_ACCEPT'].to_s+"'" + LOGGER.debug "get validation with id "+params[:id].to_s+" '"+request.env['HTTP_ACCEPT'].to_s+"'" # begin #validation = Validation::Validation.find(params[:id]) # rescue ActiveRecord::RecordNotFound => ex @@ -734,6 +743,8 @@ get '/:id' do validation = Validation::Validation[params[:id]] raise OpenTox::NotFoundError.new "Validation '#{params[:id]}' not found." unless validation + validation.filter_predictions(params["min_confidence"].to_f,12,nil) if params["min_confidence"]!=nil + case request.env['HTTP_ACCEPT'].to_s when "application/rdf+xml" content_type "application/rdf+xml" diff --git a/validation/validation_service.rb b/validation/validation_service.rb index d30c7d2..3966d7e 100755 --- a/validation/validation_service.rb +++ b/validation/validation_service.rb @@ -256,8 +256,12 @@ module Validation end def filter_predictions( min_confidence, min_num_predictions, max_num_predictions, prediction=nil ) - self.prediction_data = nil - self.save + + #3.times{LOGGER.debug("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")} + #LOGGER.debug("filtering predictions") + + #self.prediction_data = nil + #self.save raise OpenTox::BadRequestError.new "only supported for classification" if prediction!=nil and classification_statistics==nil raise OpenTox::BadRequestError.new "illegal confidence value #{min_confidence}" unless @@ -381,7 +385,7 @@ module Validation raise "validation '"+validation.validation_uri+"' for crossvaldation could not be finished" unless validation.finished i += 1 - LOGGER.debug "fold "+i.to_s+" done: "+validation.validation_uri.to_s + LOGGER.info "fold "+i.to_s+" done: "+validation.validation_uri.to_s end # self.attributes = { :finished => true } @@ -427,7 +431,7 @@ module Validation end if tmp_val.size == self.num_folds.to_i @tmp_validations = tmp_val - LOGGER.debug "copied dataset uris from cv "+cv.crossvalidation_uri.to_s #+":\n"+tmp_val.inspect + LOGGER.info "copied dataset uris from cv "+cv.crossvalidation_uri.to_s return true end end @@ -437,7 +441,7 @@ module Validation # creates cv folds (training and testdatasets) # stores uris in validation objects def create_new_cv_datasets( task = nil ) - LOGGER.debug "creating datasets for crossvalidation" + LOGGER.info "creating new datasets for crossvalidation" orig_dataset = Lib::DatasetCache.find(self.dataset_uri,self.subjectid) raise OpenTox::NotFoundError.new "Dataset not found: "+self.dataset_uri.to_s unless orig_dataset @@ -445,7 +449,7 @@ module Validation test_dataset_uris = [] meta = { DC.creator => self.crossvalidation_uri } - case stratified + case self.stratified when "anti" raise "anti-stratification not yet supported for cv" when "false" diff --git a/validation/validation_test.rb b/validation/validation_test.rb index 0001076..ce6d5c1 100755 --- a/validation/validation_test.rb +++ b/validation/validation_test.rb @@ -85,11 +85,8 @@ class ValidationTest < Test::Unit::TestCase # {:validation_uris=>"http://local-ot/validation/389,http://local-ot/validation/390,http://local-ot/validation/391,http://local-ot/validation/392", # :identifier=>"split1,split1,split2,split2"} - get '15709/viz' - puts last_response.body - exit - - post "/report/validation",{:validation_uris=>"http://local-ot/validation/15647"} + #post "/report/validation",{:validation_uris=>"http://local-ot/validation/22849",:min_confidence=>0.5} + get "/22849",{:min_confidence=>0.5} exit #post "/report/validation",{:validation_uris=>"http://local-ot/validation/389"} -- cgit v1.2.3