Class: RecommEngine::PearsonCalculator

Inherits:
Calculator
  • Object
show all
Defined in:
lib/recommengine/pearson_calculator.rb

Instance Attribute Summary collapse

Attributes inherited from Calculator

#comparate, #data, #subject

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ PearsonCalculator

Returns a new instance of PearsonCalculator.



5
6
7
8
# File 'lib/recommengine/pearson_calculator.rb', line 5

def initialize(*args)
  super
  @sum_of_subject_scores = @sum_of_comparate_scores = @sum_of_sq_subject_scores = @sum_of_sq_comparate_scores = @sum_of_scores_product = 0
end

Instance Attribute Details

#_number_of_hitsObject (readonly)

Returns the value of attribute _number_of_hits.



3
4
5
# File 'lib/recommengine/pearson_calculator.rb', line 3

def _number_of_hits
  @_number_of_hits
end

#_similar_itemsObject (readonly)

Returns the value of attribute _similar_items.



3
4
5
# File 'lib/recommengine/pearson_calculator.rb', line 3

def _similar_items
  @_similar_items
end

#sum_of_comparate_scoresObject (readonly)

Returns the value of attribute sum_of_comparate_scores.



3
4
5
# File 'lib/recommengine/pearson_calculator.rb', line 3

def sum_of_comparate_scores
  @sum_of_comparate_scores
end

#sum_of_scores_productObject (readonly)

Returns the value of attribute sum_of_scores_product.



3
4
5
# File 'lib/recommengine/pearson_calculator.rb', line 3

def sum_of_scores_product
  @sum_of_scores_product
end

#sum_of_sq_comparate_scoresObject (readonly)

Returns the value of attribute sum_of_sq_comparate_scores.



3
4
5
# File 'lib/recommengine/pearson_calculator.rb', line 3

def sum_of_sq_comparate_scores
  @sum_of_sq_comparate_scores
end

#sum_of_sq_subject_scoresObject (readonly)

Returns the value of attribute sum_of_sq_subject_scores.



3
4
5
# File 'lib/recommengine/pearson_calculator.rb', line 3

def sum_of_sq_subject_scores
  @sum_of_sq_subject_scores
end

#sum_of_subject_scoresObject (readonly)

Returns the value of attribute sum_of_subject_scores.



3
4
5
# File 'lib/recommengine/pearson_calculator.rb', line 3

def sum_of_subject_scores
  @sum_of_subject_scores
end

Instance Method Details

#calcObject



10
11
12
13
14
# File 'lib/recommengine/pearson_calculator.rb', line 10

def calc
  return 0 if number_of_hits < 2
  sum_all_scores
  perform_equation
end