summaryrefslogtreecommitdiff
path: root/lib/model.rb
diff options
context:
space:
mode:
authorAndreas Maunz <andreas@maunz.de>2011-05-26 14:28:19 +0200
committerAndreas Maunz <andreas@maunz.de>2011-05-26 14:28:19 +0200
commit3922c8e5fcb9fbe6ddedab9f70e114717ff33a60 (patch)
tree0f151c6f6e9d61e2f9b532fdc34efc471878ddd6 /lib/model.rb
parent852eef754518633f4a918aa1876ec3c4ac12ac57 (diff)
8th v
Diffstat (limited to 'lib/model.rb')
-rw-r--r--lib/model.rb17
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/model.rb b/lib/model.rb
index 7c2ef58..28c05a9 100644
--- a/lib/model.rb
+++ b/lib/model.rb
@@ -69,7 +69,7 @@ module OpenTox
include Model
include Algorithm
- attr_accessor :compound, :prediction_dataset, :features, :effects, :activities, :p_values, :fingerprints, :feature_calculation_algorithm, :similarity_algorithm, :prediction_algorithm, :min_sim, :subjectid
+ attr_accessor :compound, :prediction_dataset, :features, :effects, :activities, :p_values, :fingerprints, :feature_calculation_algorithm, :similarity_algorithm, :prediction_algorithm, :min_sim, :subjectid, :prop_kernel
def initialize(uri=nil)
@@ -92,6 +92,7 @@ module OpenTox
@prediction_algorithm = "Neighbors.weighted_majority_vote"
@min_sim = 0.3
+ @prop_kernel = false
end
@@ -219,7 +220,11 @@ module OpenTox
(i == modulo[0]) && (slack>0) ? lr_size = s.size + slack : lr_size = s.size + addon # determine fraction
LOGGER.info "BLAZAR: Neighbors round #{i}: #{position} + #{lr_size}."
neighbors_balanced(s, l, position, lr_size) # get ratio fraction of larger part
- (@prediction_algorithm.include? "svm" and params[:prop_kernel] == "true") ? props = get_props : props = nil
+ if @prop_kernel && @prediction_algorithm.include?("svm")
+ props = get_props
+ else
+ props = nil
+ end
prediction = eval("#{@prediction_algorithm}(@neighbors,{:similarity_algorithm => @similarity_algorithm, :p_values => @p_values}, props)")
if prediction_best.nil? || prediction[:confidence].abs > prediction_best[:confidence].abs
prediction_best=prediction
@@ -235,10 +240,14 @@ module OpenTox
@neighbors=neighbors_best
### END AM balanced predictions
- else # regression case: no balancing
+ else # AM: no balancing
LOGGER.info "LAZAR: Unbalanced."
neighbors
- (@prediction_algorithm.include? "svm" and params[:prop_kernel] == "true") ? props = get_props : props = nil
+ if @prop_kernel && @prediction_algorithm.include?("svm")
+ props = get_props
+ else
+ props = nil
+ end
prediction = eval("#{@prediction_algorithm}(@neighbors,{:similarity_algorithm => @similarity_algorithm, :p_values => @p_values}, props)")
end