summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2012-06-12 20:13:11 +0200
committermguetlein <martin.guetlein@gmail.com>2012-06-12 20:13:11 +0200
commitb3d06283d94de0ba7b3e386726876dffcc401095 (patch)
treeb787c333c5285a3a7036720f5bc0e7578afe4bbc
parente1a43884e2fd3ba8bc47fd9da218179e7f0004ae (diff)
add/adjust/remove log messages
-rwxr-xr-xapplication.rb4
-rwxr-xr-xlib/predictions.rb4
-rwxr-xr-xvalidation/validation_application.rb39
-rwxr-xr-xvalidation/validation_service.rb16
-rwxr-xr-xvalidation/validation_test.rb7
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"}