Class: OpenTox::Validation
- Inherits:
-
Object
- Object
- OpenTox::Validation
- Includes:
- OpenTox
- Defined in:
- lib/validation.rb
Instance Attribute Summary
Attributes included from OpenTox
Class Method Summary collapse
-
.find(uri, subjectid = nil) ⇒ OpenTox::Validation
find validation, raises error if not found.
-
.from_cv_statistics(crossvalidation_uri, subjectid = nil) ⇒ OpenTox::Validation
creates a validation object from crossvaldiation statistics, raise error if not found (as crossvaldiation statistics are returned as an average valdidation over all folds).
Instance Method Summary collapse
-
#load_metadata(subjectid = nil) ⇒ Object
loads metadata via yaml from validation object fields (like for example the validated model) can be acces via validation.metadata.
-
#summary ⇒ Object
PENDING: creates summary as used for ToxCreate.
Methods included from OpenTox
#add_metadata, all, #delete, #initialize, login, text_to_html, #to_rdfxml
Class Method Details
.find(uri, subjectid = nil) ⇒ OpenTox::Validation
find validation, raises error if not found
9 10 11 12 13 |
# File 'lib/validation.rb', line 9 def self.find( uri, subjectid=nil ) val = Validation.new(uri) val.( subjectid ) val end |
.from_cv_statistics(crossvalidation_uri, subjectid = nil) ⇒ OpenTox::Validation
creates a validation object from crossvaldiation statistics, raise error if not found (as crossvaldiation statistics are returned as an average valdidation over all folds)
20 21 22 |
# File 'lib/validation.rb', line 20 def self.from_cv_statistics( crossvalidation_uri, subjectid=nil ) find( File.join(crossvalidation_uri, 'statistics'),subjectid ) end |
Instance Method Details
#load_metadata(subjectid = nil) ⇒ Object
loads metadata via yaml from validation object fields (like for example the validated model) can be acces via validation.metadata
26 27 28 |
# File 'lib/validation.rb', line 26 def ( subjectid=nil ) @metadata = YAML.load(OpenTox::RestClientWrapper.get(uri,{:subjectid => subjectid, :accept => "application/x-yaml"})) end |
#summary ⇒ Object
PENDING: creates summary as used for ToxCreate
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/validation.rb', line 31 def summary if @metadata[OT.classificationStatistics] res = { :nr_predictions => @metadata[OT.numInstances] - @metadata[OT.numUnpredicted], :correct_predictions => @metadata[OT.classificationStatistics][OT.percentCorrect], :weighted_area_under_roc => @metadata[OT.classificationStatistics][OT.weightedAreaUnderRoc], } @metadata[OT.classificationStatistics][OT.classValueStatistics].each do |s| if s[OT.classValue].to_s=="true" res[:true_positives] = s[OT.numTruePositives] res[:false_positives] = s[OT.numFalsePositives] res[:true_negatives] = s[OT.numTrueNegatives] res[:false_negatives] = s[OT.numFalseNegatives] res[:sensitivity] = s[OT.truePositiveRate] res[:specificity] = s[OT.falsePositiveRate] break end end res elsif @metadata[OT.regressionStatistics] { :nr_predictions => @metadata[OT.numInstances] - @metadata[OT.numUnpredicted], :r_square => @metadata[OT.regressionStatistics][OT.rSquare], :root_mean_squared_error => @metadata[OT.regressionStatistics][OT.rootMeanSquaredError], :mean_absolute_error => @metadata[OT.regressionStatistics][OT.meanAbsoluteError], } end end |