From 654711ccecf3829f9ba8501fe67df06fd1aac9cf Mon Sep 17 00:00:00 2001 From: mguetlein Date: Fri, 27 May 2011 10:09:35 +0200 Subject: remove hack to determine prediction feature --- lib/feature_util.rb | 63 ----------------------------------------------------- lib/predictions.rb | 2 +- 2 files changed, 1 insertion(+), 64 deletions(-) delete mode 100644 lib/feature_util.rb (limited to 'lib') diff --git a/lib/feature_util.rb b/lib/feature_util.rb deleted file mode 100644 index e412416..0000000 --- a/lib/feature_util.rb +++ /dev/null @@ -1,63 +0,0 @@ - -module Lib - class FeatureUtil - - # this derieves the predicted_variable and predicted_confidence in prediction dataset - # predicted_variable: the feature-uri of model predictions - # predicted_confidence: the feature-uri of the model prediction confidence - # according to API info should be available in the API - # problem: IST has no feature-service -> predicted_variable depends on prediction dataset - # - # PENDING: ambit and ist declare prediction features differently -> unify - # - def self.predicted_variables( model, prediction_dataset_uri, subjectid=nil ) - - predicted_variable = nil - predicted_confidence = nil - - if model.metadata[OT.predictedVariables] - predictedVariables = model.metadata[OT.predictedVariables] - if predictedVariables.is_a?(Array) - if (predictedVariables.size==1) - predicted_variable = predictedVariables[0] - elsif (predictedVariables.size==2) - # PENDING identify confidence - conf_index = -1 - predictedVariables.size.times do |i| - conf_index = i if OpenTox::Feature.find(predictedVariables[i]).metadata[DC.title]=~/(?i)confidence/ - end - raise "size=2, no confidence "+predictedVariables.inspect+" "+model.uri.to_s if conf_index==-1 - predicted_variable = predictedVariables[1-conf_index] - predicted_confidence = predictedVariables[conf_index] - else - raise "size>2 "+predictedVariables.inspect+" "+model.uri.to_s - end - else - raise "predictedVariables is no array" - end - end - - unless predicted_variable - d = OpenTox::Dataset.new prediction_dataset_uri - d.load_features(subjectid) - d.features.keys.each do |f| - if d.features[f][OT.hasSource]==model.uri - # PENDING identify confidence - if f =~ /(?i)confidence/ - raise "duplicate confidence feature, what to choose?" if predicted_confidence!=nil - predicted_confidence = f - elsif d.features[f][RDF.type].include? OT.ModelPrediction - raise "duplicate predicted variable, what to choose?" if predicted_variable!=nil - predicted_variable = f - end - end - end - raise "could not estimate predicted variable, model: '"+model.uri.to_s+"', prediction_dataset: '"+ - prediction_dataset_uri.to_s+"'" unless predicted_variable - end - - {:predicted_variable => predicted_variable, :predicted_confidence => predicted_confidence} - end - end -end - diff --git a/lib/predictions.rb b/lib/predictions.rb index a449776..2409375 100755 --- a/lib/predictions.rb +++ b/lib/predictions.rb @@ -36,7 +36,7 @@ module Lib #puts "actual: "+actual_values.inspect #puts "confidence: "+confidence_values.inspect - raise "unknown feature_type: "+@feature_type.to_s unless + raise "unknown feature_type: '"+@feature_type.to_s+"'" unless @feature_type=="classification" || @feature_type=="regression" raise "no predictions" if @predicted_values.size == 0 num_info = "predicted:"+@predicted_values.size.to_s+ -- cgit v1.2.3