diff options
author | dv <dv@dv.de> | 2011-08-03 16:48:45 +0200 |
---|---|---|
committer | dv <dv@dv.de> | 2011-08-03 16:48:45 +0200 |
commit | 6b382e3925b85d0efe2fcc75b1651c611e2c3e09 (patch) | |
tree | fbdc83dfa27ee00d2a82ccf699a55ed030f4142a | |
parent | 3fddd473ee16757ac5ae98b5ebcdca2834439ded (diff) | |
parent | 3282ef4f902e2d5d40b715d0642a1901f5e558e5 (diff) |
Merge branch 'reg_min_max' into development
-rw-r--r-- | lib/algorithm.rb | 2 | ||||
-rw-r--r-- | lib/model.rb | 11 | ||||
-rw-r--r-- | lib/serializer.rb | 2 |
3 files changed, 13 insertions, 2 deletions
diff --git a/lib/algorithm.rb b/lib/algorithm.rb index 9a5ff01..0ba6a83 100644 --- a/lib/algorithm.rb +++ b/lib/algorithm.rb @@ -330,6 +330,7 @@ module OpenTox prediction = mlr( {:n_prop => props[0], :q_prop => props[1], :sims => sims, :acts => acts} ) transformer = eval("OpenTox::Algorithm::Transform::#{params[:transform]["class"]}.new ([#{prediction}], #{params[:transform]["offset"]})") prediction = transformer.values[0] + prediction = nil if prediction.infinite? || params[:prediction_min_max][1] < prediction || params[:prediction_min_max][0] > prediction LOGGER.debug "Prediction is: '" + prediction.to_s + "'." params[:conf_stdev] = false if params[:conf_stdev].nil? confidence = get_confidence({:sims => sims, :acts => acts, :neighbors => params[:neighbors], :conf_stdev => params[:conf_stdev]}) @@ -441,6 +442,7 @@ module OpenTox prediction = props.nil? ? local_svm(acts, sims, "nu-svr", params) : local_svm_prop(props, acts, "nu-svr") transformer = eval("OpenTox::Algorithm::Transform::#{params[:transform]["class"]}.new ([#{prediction}], #{params[:transform]["offset"]})") prediction = transformer.values[0] + prediction = nil if prediction.infinite? || params[:prediction_min_max][1] < prediction || params[:prediction_min_max][0] > prediction LOGGER.debug "Prediction is: '" + prediction.to_s + "'." params[:conf_stdev] = false if params[:conf_stdev].nil? confidence = get_confidence({:sims => sims, :acts => acts, :neighbors => params[:neighbors], :conf_stdev => params[:conf_stdev]}) diff --git a/lib/model.rb b/lib/model.rb index 26c42a5..ff0ce0e 100644 --- a/lib/model.rb +++ b/lib/model.rb @@ -102,7 +102,7 @@ module OpenTox include Algorithm include Model - attr_accessor :compound, :prediction_dataset, :features, :effects, :activities, :p_values, :fingerprints, :feature_calculation_algorithm, :similarity_algorithm, :prediction_algorithm, :min_sim, :subjectid, :prop_kernel, :value_map, :nr_hits, :transform, :conf_stdev + attr_accessor :compound, :prediction_dataset, :features, :effects, :activities, :p_values, :fingerprints, :feature_calculation_algorithm, :similarity_algorithm, :prediction_algorithm, :min_sim, :subjectid, :prop_kernel, :value_map, :nr_hits, :transform, :conf_stdev, :prediction_min_max def initialize(uri=nil) @@ -120,6 +120,7 @@ module OpenTox @p_values = {} @fingerprints = {} @value_map = {} + @prediction_min_max = [] @feature_calculation_algorithm = "Substructure.match" @similarity_algorithm = "Similarity.tanimoto" @@ -224,6 +225,13 @@ module OpenTox } ) end + if OpenTox::Feature.find(metadata[OT.dependentVariables]).feature_type == "regression" + all_activities = [] + all_activities = @activities.values.flatten.collect! { |i| i.to_f } + @prediction_min_max[0] = (all_activities.to_scale.min/2) + @prediction_min_max[1] = (all_activities.to_scale.max*2) + end + unless database_activity(subjectid) # adds database activity to @prediction_dataset neighbors @@ -237,6 +245,7 @@ module OpenTox :value_map => @value_map, :nr_hits => @nr_hits, :conf_stdev => @conf_stdev, + :prediction_min_max => @prediction_min_max, :transform => @transform } ) ") value_feature_uri = File.join( @uri, "predicted", "value") diff --git a/lib/serializer.rb b/lib/serializer.rb index 03dcf1f..d53f7fb 100644 --- a/lib/serializer.rb +++ b/lib/serializer.rb @@ -192,7 +192,7 @@ module OpenTox @object[metadata[OT.featureDataset]] = { RDF["type"] => [{ "type" => "uri", "value" => OT.Dataset }] } @object[metadata[OT.trainingDataset]] = { RDF["type"] => [{ "type" => "uri", "value" => OT.Dataset }] } @object[metadata[OT.dependentVariables]] = { RDF["type"] => [{ "type" => "uri", "value" => OT.Feature }] } - metadata[OT.predictedVariables].each{|feature| @object[feature] = { RDF["type"] => [{ "type" => "uri", "value" => OT.Feature }] }} + metadata[OT.predictedVariables].each{|feature| @object[feature] = { RDF["type"] => [{ "type" => "uri", "value" => OT.Feature }]}} unless metadata[OT.predictedVariables].nil? # TODO: add algorithms from parameters @object["http://ot-dev.in-silico.ch/algorithm/fminer/bbrc"] = { RDF["type"] => [{ "type" => "uri", "value" => OT.Algorithm }] } @object["http://ot-dev.in-silico.ch/algorithm/fminer/last"] = { RDF["type"] => [{ "type" => "uri", "value" => OT.Algorithm }] } |