From b5d6446f058916d018139948002b6e9d1162d4fe Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Tue, 10 Jan 2017 16:56:48 +0100 Subject: model documentation --- lib/model.rb | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/model.rb b/lib/model.rb index 7731705..321636d 100644 --- a/lib/model.rb +++ b/lib/model.rb @@ -27,6 +27,11 @@ module OpenTox field :scaled_variables, type: Array, default:[] field :version, type: Hash, default:{} + # Create a lazar model + # @param [OpenTox::Dataset, nil] training_dataset + # @param [OpenTox::Feature, nil] prediction_feature + # @param [Hash] algorithms + # @return [OpenTox::Model::Lazar] def self.create prediction_feature:nil, training_dataset:nil, algorithms:{} bad_request_error "Please provide a prediction_feature and/or a training_dataset." unless prediction_feature or training_dataset prediction_feature = training_dataset.features.first unless prediction_feature @@ -318,23 +323,33 @@ module OpenTox super end + # Get independent variables + # @return [Array] def independent_variables @independent_variables ||= Marshal.load $gridfs.find_one(_id: self.independent_variables_id).data @independent_variables end + # Get training dataset + # @return [OpenTox::Dataset] def training_dataset Dataset.find(training_dataset_id) end + # Get prediction feature + # @return [OpenTox::Feature] def prediction_feature Feature.find(prediction_feature_id) end + # Get training descriptors + # @return [Array] def descriptors descriptor_ids.collect{|id| Feature.find(id)} end + # Get training substances + # @return [Array] def substances substance_ids.collect{|id| Substance.find(id)} end @@ -345,9 +360,11 @@ module OpenTox end + # Classification model class LazarClassification < Lazar end + # Regression model class LazarRegression < Lazar end @@ -372,26 +389,38 @@ module OpenTox model.predict object end + # Get training dataset + # @return [OpenTox::Dataset] def training_dataset model.training_dataset end + # Get lazar model + # @return [OpenTox::Model::Lazar] def model Lazar.find model_id end + # Get algorithms + # @return [Hash] def algorithms model.algorithms end + # Get prediction feature + # @return [OpenTox::Feature] def prediction_feature model.prediction_feature end + # Get repeated crossvalidations + # @return [OpenTox::Validation::RepeatedCrossValidation] def repeated_crossvalidation OpenTox::Validation::RepeatedCrossValidation.find repeated_crossvalidation_id # full class name required end + # Get crossvalidations + # @return [Array