summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2011-05-27 10:09:35 +0200
committermguetlein <martin.guetlein@gmail.com>2011-05-27 10:09:35 +0200
commit654711ccecf3829f9ba8501fe67df06fd1aac9cf (patch)
tree9ec6babf6eb302bd379bcb5879a2b814dfce090f /lib
parent5abed3eedb5e0bc763574ef6a24b006546bdb22f (diff)
remove hack to determine prediction feature
Diffstat (limited to 'lib')
-rw-r--r--lib/feature_util.rb63
-rwxr-xr-xlib/predictions.rb2
2 files changed, 1 insertions, 64 deletions
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+