summaryrefslogtreecommitdiff
path: root/lib/feature_util.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/feature_util.rb')
-rw-r--r--lib/feature_util.rb63
1 files changed, 0 insertions, 63 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
-