Class: OpenTox::Crossvalidation

Inherits:
Object
  • Object
show all
Includes:
OpenTox
Defined in:
lib/validation.rb

Instance Attribute Summary collapse

Attributes included from OpenTox

#metadata, #uri

Class Method Summary collapse

Instance Method Summary collapse

Methods included from OpenTox

#add_metadata, all, #delete, #initialize, login, text_to_html, #to_rdfxml

Instance Attribute Details

#reportObject (readonly)

Returns the value of attribute report.



64
65
66
# File 'lib/validation.rb', line 64

def report
  @report
end

Class Method Details

.create(params, subjectid = nil, waiting_task = nil) ⇒ OpenTox::Crossvalidation

creates a crossvalidations, waits until it finishes, may take some time

Parameters:

  • params (Hash)

    (required:algorithm_uri,dataset_uri,prediction_feature, optional:algorithm_params,num_folds(10),random_seed(1),stratified(false))

  • subjectid (String, optional) (defaults to: nil)
  • waiting_task (OpenTox::Task, optional) (defaults to: nil)

    (can be a OpenTox::Subtask as well), progress is updated accordingly

Returns:



81
82
83
84
85
86
# File 'lib/validation.rb', line 81

def self.create( params, subjectid=nil, waiting_task=nil )
  params[:subjectid] = subjectid if subjectid
  uri = OpenTox::RestClientWrapper.post( File.join(CONFIG[:services]["opentox-validation"],"crossvalidation"),
    params,{:content_type => "text/uri-list"},waiting_task )
  Crossvalidation.new(uri)
end

.find(uri, subjectid = nil) ⇒ OpenTox::Crossvalidation

find crossvalidation, raises error if not found

Parameters:

  • uri (String)
  • subjectid (String, optional) (defaults to: nil)

Returns:



70
71
72
73
74
# File 'lib/validation.rb', line 70

def self.find( uri, subjectid=nil )
  cv = Crossvalidation.new(uri)
  cv.( subjectid )
  cv
end

Instance Method Details

#find_or_create_report(subjectid = nil, waiting_task = nil) ⇒ String

looks for report for this crossvalidation, creates a report if no report is found

Parameters:

  • subjectid (String, optional) (defaults to: nil)
  • waiting_task (OpenTox::Task, optional) (defaults to: nil)

    (can be a OpenTox::Subtask as well), progress is updated accordingly

Returns:



92
93
94
95
96
# File 'lib/validation.rb', line 92

def find_or_create_report( subjectid=nil, waiting_task=nil )
  @report = CrossvalidationReport.find_for_crossvalidation(@uri, subjectid) unless @report
  @report = CrossvalidationReport.create(@uri, subjectid, waiting_task) unless @report
  @report.uri
end

#load_metadata(subjectid = nil) ⇒ Object

loads metadata via yaml from crossvalidation object fields (like for example the validations) can be acces via validation.metadata



100
101
102
# File 'lib/validation.rb', line 100

def ( subjectid=nil )
  @metadata = YAML.load(OpenTox::RestClientWrapper.get(uri,{:subjectid => subjectid, :accept => "application/x-yaml"}))
end

#summary(subjectid = nil) ⇒ Object

PENDING: creates summary as used for ToxCreate



105
106
107
# File 'lib/validation.rb', line 105

def summary( subjectid=nil )
  Validation.from_cv_statistics( @uri, subjectid ).summary
end